UHD 003.000.000
Defines

include/uhd/utils/safe_main.hpp File Reference

#include <uhd/config.hpp>
#include <iostream>
#include <stdexcept>

Go to the source code of this file.

Defines

#define UHD_SAFE_MAIN(_argc, _argv)

Define Documentation

#define UHD_SAFE_MAIN (   _argc,
  _argv 
)
Value:
_main(int, char*[]); \
int main(int argc, char *argv[]){ \
    try { \
        return _main(argc, argv); \
    } catch(const std::exception &e) { \
        std::cerr << "Error: " << e.what() << std::endl; \
    } catch(...) { \
        std::cerr << "Error: unknown exception" << std::endl; \
    } \
    return ~0; \
} int _main(_argc, _argv)

Defines a safe wrapper that places a catch-all around main. If an exception is thrown, it prints to stderr and returns. Usage: int UHD_SAFE_MAIN(int argc, char *argv[]){ main code here }

Parameters:
_argcthe declaration for argc
_argvthe declaration for argv
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines