rotaryencoder: throw exception(s) on fatal errors

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Jon Trulson 2015-09-08 13:21:12 -06:00 committed by Mihai Tudor Panu
parent b4e4e9ae89
commit d4d29307a2

View File

@ -23,6 +23,8 @@
*/ */
#include <iostream> #include <iostream>
#include <string>
#include <stdexcept>
#include "rotaryencoder.h" #include "rotaryencoder.h"
@ -33,7 +35,8 @@ RotaryEncoder::RotaryEncoder(int pinA, int pinB)
{ {
if ( !(m_gpioA = mraa_gpio_init(pinA)) ) 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; return;
} }
@ -41,7 +44,8 @@ RotaryEncoder::RotaryEncoder(int pinA, int pinB)
if ( !(m_gpioB = mraa_gpio_init(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; return;
} }