From 69bd77dd30460297b1b4d8995c51f658f33fabe2 Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Thu, 10 Sep 2015 12:21:57 -0600 Subject: [PATCH] ht9170: throw exception(s) on fatal errors Signed-off-by: Jon Trulson Signed-off-by: Mihai Tudor Panu --- src/ht9170/ht9170.cxx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ht9170/ht9170.cxx b/src/ht9170/ht9170.cxx index f9399673..d34987b1 100644 --- a/src/ht9170/ht9170.cxx +++ b/src/ht9170/ht9170.cxx @@ -23,6 +23,8 @@ */ #include +#include +#include #include "ht9170.h" @@ -34,35 +36,40 @@ HT9170::HT9170(int dr, int o1, int o2, int o3, int o4) // init the gpio's we will need if ( !(m_dr = mraa_gpio_init(dr)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init(dr) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(dr) failed, invalid pin?"); return; } mraa_gpio_dir(m_dr, MRAA_GPIO_IN); if ( !(m_o1 = mraa_gpio_init(o1)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init(o1) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(o1) failed, invalid pin?"); return; } mraa_gpio_dir(m_o1, MRAA_GPIO_IN); if ( !(m_o2 = mraa_gpio_init(o2)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init(o2) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(o2) failed, invalid pin?"); return; } mraa_gpio_dir(m_o2, MRAA_GPIO_IN); if ( !(m_o3 = mraa_gpio_init(o3)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init(o3) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(o3) failed, invalid pin?"); return; } mraa_gpio_dir(m_o3, MRAA_GPIO_IN); if ( !(m_o4 = mraa_gpio_init(o4)) ) { - cerr << __FUNCTION__ << ": mraa_gpio_init(o4) failed" << endl; + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init(o4) failed, invalid pin?"); return; } mraa_gpio_dir(m_o4, MRAA_GPIO_IN);