All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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::not_implemented_error
struct | uhd::environment_error
struct | uhd::io_error
struct | uhd::os_error
struct | uhd::system_error

## Namespaces

namespace | 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

#define UHD_ASSERT_THROW | ( |  | code | ) |

Value:
if (not (code)) \
throw uhd::assertion_error(UHD_THROW_SITE_INFO(#code)); \
else void(0)

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

Parameters

  code | the code that resolved to a boolean

#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.

#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 formated string with throw-site information. Fills in the function name, file name, and line number.

Parameters

  what | the std::exeption message

Returns
  the formatted exception message