diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2008-01-27 11:37:44 +0100 |
---|---|---|
committer | Tobias Klauser <tklauser@xenon.tklauser.home> | 2008-01-27 11:37:44 +0100 |
commit | 7e0f021a9aec35fd8e6725e87e3313b101d26f5e (patch) | |
tree | b1cacc4b24393f517aeb4610e9e1021f954307a8 /reference/CPLUSPLUS/EXAMPLES/throw.cc |
Initial import (2.0.2-6)2.0.2-6
Diffstat (limited to 'reference/CPLUSPLUS/EXAMPLES/throw.cc')
-rw-r--r-- | reference/CPLUSPLUS/EXAMPLES/throw.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/reference/CPLUSPLUS/EXAMPLES/throw.cc b/reference/CPLUSPLUS/EXAMPLES/throw.cc new file mode 100644 index 0000000..ca86673 --- /dev/null +++ b/reference/CPLUSPLUS/EXAMPLES/throw.cc @@ -0,0 +1,43 @@ + +/************************************************************************** + * + * Language: C++ + * Purpose: Program to demonstrate the 'try', 'catch' and 'throw' statements. + * Author: M J Leslie + * Date: 21-Mar-98 + * + * Compile: The following command was used to compile. + * + * g++ -fhandle-exceptions throw.cc -o throw + * + **************************************************************************/ + +#include <iostream.h> // For cout. + +void ErrorFunc(int Error); + +main() +{ + ErrorFunc(0); + ErrorFunc(1); +} +void ErrorFunc(int Error) +{ + try + { + cout << "Error code is " << Error << endl; + + if (Error > 0 ) + { + throw(Error); // This statement causes control to jump + // to the 'catch' statement + } + + cout << "No Error occoured" << endl; + + } + catch(int n) + { + cout << "Error number is " << n << endl;; + } +} |