CLHEP 2.4.6.4
C++ Class Library for High Energy Physics
Loading...
Searching...
No Matches
exctest2.cc
Go to the documentation of this file.
1// Test program to check out environment's exception-handling
2
3#include <iostream>
4using std::cerr;
5using std::endl;
6
7
8class Exception {
9public:
10 Exception( const char [] ) {}
11};
12
13
14class Oops : public Exception {
15public:
16 Oops( const char s[] ) : Exception( s ) {}
17};
18
19
20int main() {
21
22 try {
23 cerr << "Starting main() ..." << endl;
24
25 cerr << "About to: throw( Oops(\"Ouch\") )" << endl;
26 const Exception & o = Oops("Ouch");
27 throw o;
28 cerr << "The following ought to produce a compilation warning \n"
29 << "Got past: throw( Oops(\"Ouch\") ) -- not good!" << endl;
30 }
31 catch ( const Oops & egad ) {
32 cerr << "Caught: Oops" << endl;
33 }
34 catch ( const Exception & egad ) {
35 cerr << "Caught: Exception" << endl;
36 }
37 catch ( ... ) {
38 cerr << "Caught: don't know what" << endl;
39 }
40
41 cerr << "Done." << endl;
42 return 0;
43
44} // main()
Exception(const char[])
Definition: exctest2.cc:10
Definition: exctest2.cc:14
Oops(const char s[])
Definition: exctest2.cc:16
int main()
Definition: exctest2.cc:20