From d4d29307a2e60aac7b7378f3e42d7df2aed038f2 Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Tue, 8 Sep 2015 13:21:12 -0600 Subject: [PATCH] rotaryencoder: throw exception(s) on fatal errors Signed-off-by: Jon Trulson Signed-off-by: Mihai Tudor Panu --- src/rotaryencoder/rotaryencoder.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/rotaryencoder/rotaryencoder.cxx b/src/rotaryencoder/rotaryencoder.cxx index 2e580a54..15b7b5d4 100644 --- a/src/rotaryencoder/rotaryencoder.cxx +++ b/src/rotaryencoder/rotaryencoder.cxx @@ -23,6 +23,8 @@ */ #include +#include +#include #include "rotaryencoder.h" @@ -33,7 +35,8 @@ RotaryEncoder::RotaryEncoder(int pinA, int pinB) { if ( !(m_gpioA = mraa_gpio_init(pinA)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init() failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(pinA) failed, invalid pin?"); return; } @@ -41,7 +44,8 @@ RotaryEncoder::RotaryEncoder(int pinA, int pinB) if ( !(m_gpioB = mraa_gpio_init(pinB)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init() failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(pinB) failed, invalid pin?"); return; }