From 07f131336f0b149a5d68acee4ec0395cdd4b138f Mon Sep 17 00:00:00 2001 From: Eric Frias Date: Tue, 27 May 2014 10:05:58 -0400 Subject: [PATCH] Convert boost exceptions caught while parsing fc::time_point strings into fc::exception --- src/time.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/time.cpp b/src/time.cpp index ed3e8ef..da333cc 100644 --- a/src/time.cpp +++ b/src/time.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace fc { namespace bch = boost::chrono; @@ -18,10 +19,15 @@ namespace fc { return boost::posix_time::to_iso_string( boost::posix_time::from_time_t(tt) + boost::posix_time::microseconds( elapsed._count % 1000000 ) ); } - time_point time_point::from_iso_string( const fc::string& s ) { - auto pt = boost::posix_time::from_iso_string(s); - //return fc::time_point(fc::seconds( (pt - boost::posix_time::from_time_t(0)).total_seconds() )); - return fc::time_point(fc::microseconds( (pt - boost::posix_time::from_time_t(0)).total_microseconds() )); + time_point time_point::from_iso_string( const fc::string& s ) + { + try + { + auto pt = boost::posix_time::from_iso_string(s); + //return fc::time_point(fc::seconds( (pt - boost::posix_time::from_time_t(0)).total_seconds() )); + return fc::time_point(fc::microseconds( (pt - boost::posix_time::from_time_t(0)).total_microseconds() )); + } + FC_RETHROW_EXCEPTIONS(warn, "unable to convert ISO-formatted string to fc::time_point") } void to_variant( const fc::time_point& t, variant& v ) { v = fc::string(t);