3 #include "cetlib_except/demangle.h" 4 #include "cetlib_except/exception.h" 15 exceptionCatcher(F func, std::string
const& funcName,
int failureCode)
21 std::cerr <<
"OptionsHandler caught a cet::exception calling " << funcName
26 std::cerr <<
"OptionsHandler caught an std::exception calling " 30 catch (std::string& s) {
31 std::cerr <<
"OptionsHandler caught a string exception calling " 35 catch (
char const* s) {
36 std::cerr <<
"OptionsHandler caught a string exception calling " 41 std::cerr <<
"OptionsHandler caught an unknown exception calling " 53 std::string
const thisClass(cet::demangle_symbol(
typeid(*this).name()));
54 return exceptionCatcher([&vm,
this] {
return doCheckOptions(vm); },
55 thisClass +
"::doCheckOptions()",
63 std::string
const thisClass(cet::demangle_symbol(
typeid(*this).name()));
64 return exceptionCatcher(
66 thisClass +
"::doProcessOptions()",
virtual ~OptionsHandler()
int processOptions(bpo::variables_map const &vm, fhicl::intermediate_table &raw_config)
virtual int doCheckOptions(bpo::variables_map const &vm)=0
int checkOptions(bpo::variables_map const &vm)
virtual int doProcessOptions(bpo::variables_map const &vm, fhicl::intermediate_table &raw_config)=0
cet::coded_exception< error, detail::translate > exception