1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include <iostream>
using std::cerr;
using std::endl;
#include "CLHEP/Exceptions/ZMexception.h"
#include "CLHEP/Exceptions/ZMthrow.h"
using namespace zmex;
ZMexStandardDefinition(ZMexception,Oops);
ZMexClassInfo Oops::_classInfo( "Oops", "exctest4", ZMexERROR
, ZMexHandler( ZMexThrowAlways() )
, ZMexLogger ( ZMexLogNever() )
);
int main() {
cerr << "Starting main() ..." << endl;
#ifndef DEFECT_NO_EXCEPTIONS
try {
#endif
//cerr << "About to: Oops::setHandler( ZMexHandler( ZMexIgnoreAlways() ) );
//Oops::setHandler( ZMexHandler( ZMexIgnoreAlways() ) );
cerr << "About to: ZMthrow( Oops(\"Ouch\") )" << endl;
ZMthrow( Oops("Ouch") );
// unreachable statement:
cerr << "Got past: ZMthrow( Oops(\"Ouch\") ) -- not good!" << endl;
#ifndef DEFECT_NO_EXCEPTIONS
}
catch ( const Oops egad ) {
cerr << "Caught: Oops" << endl;
}
catch ( const ZMexception egad ) {
cerr << "Caught: ZMexception" << endl;
}
catch ( ... ) {
cerr << "Caught: don't know what" << endl;
}
#endif
cerr << "Done." << endl;
return 0;
} // main()
|