USRP Hardware Driver and USRP Manual  Version: 3.11.0.HEAD-0-ga1b5c4ae
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:242

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