1 /** 2 * @file op_exception.cpp 3 * exception base class 4 * 5 * @remark Copyright 2003 OProfile authors 6 * @remark Read the file COPYING 7 * 8 * @author Philippe Elie 9 * @author John Levon 10 */ 11 12 #include <cstring> 13 14 #include "op_exception.h" 15 16 using namespace std; 17 op_exception(string const & msg)18op_exception::op_exception(string const & msg) 19 : 20 message(msg) 21 { 22 } 23 ~op_exception()24op_exception::~op_exception() throw() 25 { 26 } 27 what() const28char const * op_exception::what() const throw() 29 { 30 return message.c_str(); 31 } 32 33 op_fatal_error(string const & msg)34op_fatal_error::op_fatal_error(string const & msg) 35 : 36 op_exception(msg) 37 { 38 } 39 40 op_runtime_error(string const & msg)41op_runtime_error::op_runtime_error(string const & msg) 42 : 43 runtime_error(msg) 44 { 45 } 46 op_runtime_error(string const & msg,int cerrno)47op_runtime_error::op_runtime_error(string const & msg, int cerrno) 48 : 49 runtime_error(msg + "\ncause: " + strerror(cerrno)) 50 { 51 } 52 ~op_runtime_error()53op_runtime_error::~op_runtime_error() throw() 54 { 55 } 56