diff --git a/src/isd1820/isd1820.cxx b/src/isd1820/isd1820.cxx index 51388d77..29aed20d 100644 --- a/src/isd1820/isd1820.cxx +++ b/src/isd1820/isd1820.cxx @@ -23,6 +23,8 @@ */ #include +#include +#include #include "isd1820.h" @@ -33,7 +35,8 @@ ISD1820::ISD1820(int playPin, int recPin) { if ( !(m_gpioPlay = mraa_gpio_init(playPin)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init() failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(playPin) failed, invalid pin?"); return; } @@ -41,7 +44,8 @@ ISD1820::ISD1820(int playPin, int recPin) if ( !(m_gpioRec = mraa_gpio_init(recPin)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init() failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(recPin) failed, invalid pin?"); return; }