00001 00012 #include <cstring> 00013 00014 #include "op_exception.h" 00015 00016 using namespace std; 00017 00018 op_exception::op_exception(string const & msg) 00019 : 00020 message(msg) 00021 { 00022 } 00023 00024 op_exception::~op_exception() throw() 00025 { 00026 } 00027 00028 char const * op_exception::what() const throw() 00029 { 00030 return message.c_str(); 00031 } 00032 00033 00034 op_fatal_error::op_fatal_error(string const & msg) 00035 : 00036 op_exception(msg) 00037 { 00038 } 00039 00040 00041 op_runtime_error::op_runtime_error(string const & msg) 00042 : 00043 runtime_error(msg) 00044 { 00045 } 00046 00047 op_runtime_error::op_runtime_error(string const & msg, int cerrno) 00048 : 00049 runtime_error(msg + "\ncause: " + strerror(cerrno)) 00050 { 00051 } 00052 00053 op_runtime_error::~op_runtime_error() throw() 00054 { 00055 }