aboutsummaryrefslogtreecommitdiffstats
path: root/host
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2016-08-01 14:31:37 -0700
committerMartin Braun <martin.braun@ettus.com>2016-08-09 10:21:53 -0700
commitce2e7e5197ea7db5454a381c5b75c1c63b2d2d59 (patch)
tree92ff13fb95222cc5e595172cc393150a96f93049 /host
parentf360059b99d4ae11e5279b8999364ec1fe2997a3 (diff)
downloaduhd-ce2e7e5197ea7db5454a381c5b75c1c63b2d2d59.tar.gz
uhd-ce2e7e5197ea7db5454a381c5b75c1c63b2d2d59.tar.bz2
uhd-ce2e7e5197ea7db5454a381c5b75c1c63b2d2d59.zip
uhd: Added syntax error exception type
Diffstat (limited to 'host')
-rw-r--r--host/include/uhd/exception.hpp7
-rw-r--r--host/lib/exception.cpp1
2 files changed, 8 insertions, 0 deletions
diff --git a/host/include/uhd/exception.hpp b/host/include/uhd/exception.hpp
index 7eddf5f26..98982b01f 100644
--- a/host/include/uhd/exception.hpp
+++ b/host/include/uhd/exception.hpp
@@ -141,6 +141,13 @@ namespace uhd{
virtual void dynamic_throw(void) const;
};
+ struct UHD_API syntax_error : exception{
+ syntax_error(const std::string &what);
+ virtual unsigned code(void) const;
+ virtual syntax_error *dynamic_clone(void) const;
+ virtual void dynamic_throw(void) const;
+ };
+
/*!
* Create a formatted string with throw-site information.
* Fills in the function name, file name, and line number.
diff --git a/host/lib/exception.cpp b/host/lib/exception.cpp
index a9e36fd15..fc87fe791 100644
--- a/host/lib/exception.cpp
+++ b/host/lib/exception.cpp
@@ -43,6 +43,7 @@ make_exception_impl("EnvironmentError", environment_error, exception)
make_exception_impl("IOError", io_error, environment_error)
make_exception_impl("OSError", os_error, environment_error)
make_exception_impl("SystemError", system_error, exception)
+make_exception_impl("SyntaxError", syntax_error, exception)
usb_error::usb_error(int code, const std::string &what):
runtime_error(str(boost::format("%s %d: %s") % "USBError" % code % what)), _code(code) {}