18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file op_exception.cpp 38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * exception base class 48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2003 OProfile authors 68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING 78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie 98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon 108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <cstring> 138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "op_exception.h" 158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddusing namespace std; 178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddop_exception::op_exception(string const & msg) 198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd : 208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd message(msg) 218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddop_exception::~op_exception() throw() 258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddchar const * op_exception::what() const throw() 298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd return message.c_str(); 318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddop_fatal_error::op_fatal_error(string const & msg) 358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd : 368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd op_exception(msg) 378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 408cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 418cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddop_runtime_error::op_runtime_error(string const & msg) 428cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd : 438cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd runtime_error(msg) 448cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 458cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 468cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 478cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddop_runtime_error::op_runtime_error(string const & msg, int cerrno) 488cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd : 498cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd runtime_error(msg + "\ncause: " + strerror(cerrno)) 508cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 518cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 528cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 538cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddop_runtime_error::~op_runtime_error() throw() 548cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd{ 558cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 56