From f86e812f1367d11ed95cdf6e68e93e9cf4385acf Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Wed, 9 Sep 2015 15:14:43 -0600 Subject: [PATCH] adxl335: throw exception(s) on fatal errors Signed-off-by: Jon Trulson Signed-off-by: Mihai Tudor Panu --- src/adxl335/adxl335.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/adxl335/adxl335.cxx b/src/adxl335/adxl335.cxx index 8391d0ae..de6f1b9a 100644 --- a/src/adxl335/adxl335.cxx +++ b/src/adxl335/adxl335.cxx @@ -26,6 +26,8 @@ */ #include +#include +#include #include "adxl335.h" @@ -41,19 +43,22 @@ ADXL335::ADXL335(int pinX, int pinY, int pinZ, float aref) if ( !(m_aioX = mraa_aio_init(pinX)) ) { - cerr << __FUNCTION__ << ": mraa_aio_init(X) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_aio_init(X) failed, invalid pin?"); return; } if ( !(m_aioY = mraa_aio_init(pinY)) ) { - cerr << __FUNCTION__ << ": mraa_aio_init(Y) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_aio_init(Y) failed, invalid pin?"); return; } if ( !(m_aioZ = mraa_aio_init(pinZ)) ) { - cerr << __FUNCTION__ << ": mraa_aio_init(Z) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_aio_init(Z) failed, invalid pin?"); return; } }