From 4513a8ad092a072b81817614bc4837ddc7fc98a1 Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Thu, 10 Sep 2015 10:56:07 -0600 Subject: [PATCH] groveelectromagnet: throw exception(s) on fatal errors Signed-off-by: Jon Trulson Signed-off-by: Mihai Tudor Panu --- src/groveelectromagnet/groveelectromagnet.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/groveelectromagnet/groveelectromagnet.cxx b/src/groveelectromagnet/groveelectromagnet.cxx index 9ff82a89..d3e118da 100644 --- a/src/groveelectromagnet/groveelectromagnet.cxx +++ b/src/groveelectromagnet/groveelectromagnet.cxx @@ -22,13 +22,21 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#include +#include + #include "groveelectromagnet.h" using namespace upm; GroveElectromagnet::GroveElectromagnet(int pin) { - m_gpio = mraa_gpio_init(pin); + if ( !(m_gpio = mraa_gpio_init(pin)) ) + { + throw std::invalid_argument(std::string(__FUNCTION__) + + ": mraa_gpio_init() failed, invalid pin?"); + return; + } mraa_gpio_dir(m_gpio, MRAA_GPIO_OUT); }