73 # include <boost/exception/diagnostic_information.hpp> 80 UHD_API std::string get_c_global_error_string();
82 UHD_API void set_c_global_error_string(
const std::string& msg);
89 # define UHD_SAFE_C(...) \ 92 } catch (const uhd::exception& e) { \ 93 set_c_global_error_string(e.what()); \ 94 return error_from_uhd_exception(&e); \ 95 } catch (const boost::exception& e) { \ 96 set_c_global_error_string(boost::diagnostic_information(e)); \ 97 return UHD_ERROR_BOOSTEXCEPT; \ 98 } catch (const std::exception& e) { \ 99 set_c_global_error_string(e.what()); \ 100 return UHD_ERROR_STDEXCEPT; \ 102 set_c_global_error_string("Unrecognized exception caught."); \ 103 return UHD_ERROR_UNKNOWN; \ 105 set_c_global_error_string("None"); \ 106 return UHD_ERROR_NONE; 113 # define UHD_SAFE_C_SAVE_ERROR(h, ...) \ 114 h->last_error.clear(); \ 117 } catch (const uhd::exception& e) { \ 118 set_c_global_error_string(e.what()); \ 119 h->last_error = e.what(); \ 120 return error_from_uhd_exception(&e); \ 121 } catch (const boost::exception& e) { \ 122 set_c_global_error_string(boost::diagnostic_information(e)); \ 123 h->last_error = boost::diagnostic_information(e); \ 124 return UHD_ERROR_BOOSTEXCEPT; \ 125 } catch (const std::exception& e) { \ 126 set_c_global_error_string(e.what()); \ 127 h->last_error = e.what(); \ 128 return UHD_ERROR_STDEXCEPT; \ 130 set_c_global_error_string("Unrecognized exception caught."); \ 131 h->last_error = "Unrecognized exception caught."; \ 132 return UHD_ERROR_UNKNOWN; \ 134 h->last_error = "None"; \ 135 set_c_global_error_string("None"); \ 136 return UHD_ERROR_NONE; Definition: exception.hpp:35
See uhd::runtime_error.
Definition: error.h:51
See uhd::io_error.
Definition: error.h:38
See uhd::system_error.
Definition: error.h:55
UHD_API uhd_error uhd_get_last_error(char *error_out, size_t strbuffer_len)
Return the last error string reported by UHD.
See uhd::not_implemented_error.
Definition: error.h:33
See uhd::exception.
Definition: error.h:57
See uhd::os_error.
Definition: error.h:40
See uhd::assertion_error.
Definition: error.h:43
Invalid device arguments.
Definition: error.h:25
See uhd::environment_error.
Definition: error.h:53
See uhd::key_error.
Definition: error.h:30
uhd_error
UHD error codes.
Definition: error.h:20
See uhd::usb_error.
Definition: error.h:35
See uhd::type_error.
Definition: error.h:47
See uhd::index_error.
Definition: error.h:28
No error thrown.
Definition: error.h:23
#define UHD_API
Definition: config.h:87
See uhd::value_error.
Definition: error.h:49
See uhd::lookup_error.
Definition: error.h:45
An unknown error was thrown.
Definition: error.h:66
A boost::exception was thrown.
Definition: error.h:60
A std::exception was thrown.
Definition: error.h:63