USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-gaea0e2de
UHD and USRP Manual
safe_call.hpp File Reference
#include <uhd/config.hpp>
#include <uhd/exception.hpp>
#include <uhd/utils/log.hpp>

Go to the source code of this file.

Macros

#define _UHD_SAFE_CALL_WARNING(code, what)
 helper macro for safe call to produce warnings More...
 
#define UHD_SAFE_CALL(code)
 

Macro Definition Documentation

◆ _UHD_SAFE_CALL_WARNING

#define _UHD_SAFE_CALL_WARNING (   code,
  what 
)
Value:
UHD_LOGGER_ERROR("UHD") << UHD_THROW_SITE_INFO("Exception caught in safe-call.") \
+ #code + " -> " + what;
#define UHD_LOGGER_ERROR(component)
Definition: log.hpp:240
#define UHD_THROW_SITE_INFO(what)
Definition: exception.hpp:224

helper macro for safe call to produce warnings

◆ UHD_SAFE_CALL

#define UHD_SAFE_CALL (   code)
Value:
try { \
code \
} catch (const std::exception& e) { \
_UHD_SAFE_CALL_WARNING(code, e.what()); \
} catch (...) { \
_UHD_SAFE_CALL_WARNING(code, "unknown exception"); \
}

A safe-call catches all exceptions thrown by code, and creates a verbose warning about the exception. Usage: UHD_SAFE_CALL(some_code_to_call();)

Parameters
codethe block of code to call safely