32 #ifndef LSST_PEX_POLICY_EXCEPTIONS_H 33 #define LSST_PEX_POLICY_EXCEPTIONS_H 37 #define POL_EARGS_TYPED char const* ex_file, int ex_line, char const* ex_func 38 #define POL_EARGS_UNTYPED ex_file, ex_line, ex_func 39 #define POL_EXCEPT_VIRTFUNCS(etn) \ 40 char const *etn::getType(void) const throw() { return #etn " *"; } \ 41 lsst::pex::exceptions::Exception *etn::clone(void) const { \ 42 return new etn(*this); \ 58 :
lsst::pex::exceptions::RuntimeError(
63 std::string(
"Illegal Policy parameter name: ") + badname)
65 virtual char const *
getType(
void)
const throw();
75 :
lsst::pex::exceptions::DomainError(
80 std::string(
"Malformed dictionary: ") + msg)
82 virtual char const *
getType(
void)
const throw();
93 :
lsst::pex::exceptions::NotFoundError(
98 std::string(
"Policy parameter name not found: ") + parameter)
100 virtual char const *
getType(
void)
const throw();
111 :
lsst::pex::exceptions::DomainError(
117 std::string(
"Parameter \"") + parameter +
118 "\" has wrong type; expecting " + expected +
".")
120 virtual char const *
getType(
void)
const throw();
127 #endif // LSST_PEX_POLICY_EXCEPTIONS_H #define POL_EARGS_UNTYPED
TypeError(char const *ex_file, int ex_line, char const *ex_func, const std::string ¶meter, const std::string &expected)
an exception indicating that a policy parameter of a given name can not be found in a Policy object...
DictionaryError(char const *ex_file, int ex_line, char const *ex_func)
an exception thrown when Policy parameter name has an illegal form.
BadNameError(char const *ex_file, int ex_line, char const *ex_func, const std::string &badname)
virtual lsst::pex::exceptions::Exception * clone() const
BadNameError(char const *ex_file, int ex_line, char const *ex_func)
virtual char const * getType(void) const
DictionaryError(char const *ex_file, int ex_line, char const *ex_func, const std::string &msg)
There is a problem with a dictionary.
NameNotFound(char const *ex_file, int ex_line, char const *ex_func)
an exception indicating that a policy parameter with a given name has a type different from the one t...
TypeError(char const *ex_file, int ex_line, char const *ex_func)
NameNotFound(char const *ex_file, int ex_line, char const *ex_func, const std::string ¶meter)