#include <G4ExceptionHandler.hh>
Inheritance diagram for G4ExceptionHandler:
Public Member Functions | |
G4ExceptionHandler () | |
virtual | ~G4ExceptionHandler () |
G4int | operator== (const G4ExceptionHandler &right) const |
G4int | operator!= (const G4ExceptionHandler &right) const |
virtual G4bool | Notify (const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description) |
Definition at line 56 of file G4ExceptionHandler.hh.
G4ExceptionHandler::G4ExceptionHandler | ( | ) |
G4ExceptionHandler::~G4ExceptionHandler | ( | ) | [virtual] |
G4bool G4ExceptionHandler::Notify | ( | const char * | originOfException, | |
const char * | exceptionCode, | |||
G4ExceptionSeverity | severity, | |||
const char * | description | |||
) | [virtual] |
Implements G4VExceptionHandler.
Definition at line 72 of file G4ExceptionHandler.cc.
References G4RunManager::AbortEvent(), G4RunManager::AbortRun(), EventMustBeAborted, FatalErrorInArgument, FatalException, G4cerr, G4cout, G4endl, G4State_EventProc, G4State_GeomClosed, G4StateManager::GetCurrentState(), G4RunManager::GetRunManager(), G4StateManager::GetStateManager(), and RunMustBeAborted.
00076 { 00077 static const G4String es_banner 00078 = "\n-------- EEEE ------- G4Exception-START -------- EEEE -------\n"; 00079 static const G4String ee_banner 00080 = "\n-------- EEEE -------- G4Exception-END --------- EEEE -------\n"; 00081 static const G4String ws_banner 00082 = "\n-------- WWWW ------- G4Exception-START -------- WWWW -------\n"; 00083 static const G4String we_banner 00084 = "\n-------- WWWW -------- G4Exception-END --------- WWWW -------\n"; 00085 std::ostringstream message; 00086 message << "*** G4Exception : " << exceptionCode << G4endl 00087 << " issued by : " << originOfException << G4endl 00088 << description << G4endl; 00089 G4bool abortionForCoreDump = false; 00090 G4ApplicationState aps = G4StateManager::GetStateManager()->GetCurrentState(); 00091 switch(severity) 00092 { 00093 case FatalException: 00094 G4cerr << es_banner << message.str() << "*** Fatal Exception *** core dump ***" 00095 << ee_banner << G4endl; 00096 abortionForCoreDump = true; 00097 break; 00098 case FatalErrorInArgument: 00099 G4cerr << es_banner << message.str() << "*** Fatal Error In Argument *** core dump ***" 00100 << ee_banner << G4endl; 00101 abortionForCoreDump = true; 00102 break; 00103 case RunMustBeAborted: 00104 if(aps==G4State_GeomClosed || aps==G4State_EventProc) 00105 { 00106 G4cerr << es_banner << message.str() << "*** Run Must Be Aborted ***" 00107 << ee_banner << G4endl; 00108 G4RunManager::GetRunManager()->AbortRun(false); 00109 } 00110 abortionForCoreDump = false; 00111 break; 00112 case EventMustBeAborted: 00113 if(aps==G4State_EventProc) 00114 { 00115 G4cerr << es_banner << message.str() << "*** Event Must Be Aborted ***" 00116 << ee_banner << G4endl; 00117 G4RunManager::GetRunManager()->AbortEvent(); 00118 } 00119 abortionForCoreDump = false; 00120 break; 00121 default: 00122 G4cout << ws_banner << message.str() << "*** This is just a warning message. ***" 00123 << we_banner << G4endl; 00124 abortionForCoreDump = false; 00125 break; 00126 } 00127 return abortionForCoreDump; 00128 }
G4int G4ExceptionHandler::operator!= | ( | const G4ExceptionHandler & | right | ) | const |
G4int G4ExceptionHandler::operator== | ( | const G4ExceptionHandler & | right | ) | const |