1 #ifndef _RMS_RUNTIMEEXCEPTION_H 2 #define _RMS_RUNTIMEEXCEPTION_H 9 #define GENERATE_RMS_RUNTIME_EXCEPTION(msg) \ 10 throw gov::fnal::cd::rms::base::RmsRuntimeException(__FILE__, __LINE__, msg) 12 #define GENERATE_RMS_NOTCONNECTED_EXCEPTION(msg) \ 13 throw gov::fnal::cd::rms::base::RmsNotConnectedException(__FILE__, __LINE__, msg) 15 #define GENERATE_RMS_EXITINGPROCESS_EXCEPTION(msg) \ 16 throw gov::fnal::cd::rms::base::RmsExitingProcessException(__FILE__, __LINE__, msg) 19 #define LOG_EXCEPTION(message,what) std::cerr << message << what << std::endl 21 #define LOG_EXCEPTION(message,what) 54 std::stringstream tmpStream;
59 _fullText = message +
"\n" +
" RmsRuntimeException generated at " +
60 fileName +
":" + lineNumber;
68 size = backtrace (array, 10);
69 strings = backtrace_symbols (array, size);
71 for (idx = 0; idx <
size; idx++) {
76 _fullText +=
"\n Stack trace:\n" + tmpStream.str();
89 const char*
what()
const throw() {
virtual ~RmsRuntimeException()
::xsd::cxx::tree::exception< char > exception
RmsExitingProcessException(const std::string &fileName, int line, const std::string &message)
const XML_Char int const XML_Char int const XML_Char * base
const char * what() const
RmsRuntimeException(const std::string &fileName, int line, const std::string &message)
RmsNotConnectedException(const std::string &fileName, int line, const std::string &message)