USRP Hardware Driver and USRP Manual  Version: 003.010.002.HEAD-0-gbd6e21dc
UHD and USRP Manual
exception.hpp File Reference
#include <uhd/config.hpp>
#include <boost/current_function.hpp>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Classes

struct  uhd::exception
 
struct  uhd::assertion_error
 
struct  uhd::lookup_error
 
struct  uhd::index_error
 
struct  uhd::key_error
 
struct  uhd::type_error
 
struct  uhd::value_error
 
struct  uhd::runtime_error
 
struct  uhd::usb_error
 
struct  uhd::not_implemented_error
 
struct  uhd::environment_error
 
struct  uhd::io_error
 
struct  uhd::os_error
 
struct  uhd::system_error
 
struct  uhd::syntax_error
 

Namespaces

 uhd
 

Macros

#define UHD_THROW_SITE_INFO(what)
 
#define UHD_THROW_INVALID_CODE_PATH()   throw uhd::system_error(UHD_THROW_SITE_INFO("invalid code path"))
 
#define UHD_ASSERT_THROW(code)
 

Macro Definition Documentation

◆ UHD_ASSERT_THROW

#define UHD_ASSERT_THROW (   code)
Value:
{if (not (code)) \
}
Definition: exception.hpp:52
#define UHD_THROW_SITE_INFO(what)
Definition: exception.hpp:157

Assert the result of the code evaluation. If the code evaluates to false, throw an assertion error.

Parameters
codethe code that resolved to a boolean

◆ UHD_THROW_INVALID_CODE_PATH

#define UHD_THROW_INVALID_CODE_PATH ( )    throw uhd::system_error(UHD_THROW_SITE_INFO("invalid code path"))

Throws an invalid code path exception with throw-site information. Use this macro in places that code execution is not supposed to go.

◆ UHD_THROW_SITE_INFO

#define UHD_THROW_SITE_INFO (   what)
Value:
std::string( \
std::string(what) + "\n" + \
" in " + std::string(BOOST_CURRENT_FUNCTION) + "\n" + \
" at " + std::string(__FILE__) + ":" + BOOST_STRINGIZE(__LINE__) + "\n" \
)

Create a formatted string with throw-site information. Fills in the function name, file name, and line number.

Parameters
whatthe std::exception message
Returns
the formatted exception message