From: Gunnar Beutner Date: Thu, 29 Jan 2015 15:51:47 +0000 (+0100) Subject: Improve error message for failed casts X-Git-Tag: v2.3.0~315 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0be9cd743206e4cb193cfcd60551bce4a301e44;p=icinga2 Improve error message for failed casts refs #6070 --- diff --git a/lib/base/value-operators.cpp b/lib/base/value-operators.cpp index a35271757..3c5e8d989 100644 --- a/lib/base/value-operators.cpp +++ b/lib/base/value-operators.cpp @@ -42,7 +42,13 @@ Value::operator double(void) const if (IsEmpty()) return 0; - return boost::lexical_cast(m_Value); + try { + return boost::lexical_cast(m_Value); + } catch (const std::exception&) { + std::ostringstream msgbuf; + msgbuf << "Can't convert '" << *this << "' to a floating point number."; + BOOST_THROW_EXCEPTION(std::invalid_argument(msgbuf.str())); + } } Value::operator String(void) const