c:c_exception_handling
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
c:c_exception_handling [2017/10/12 10:17] – peter | c:c_exception_handling [2020/07/15 09:30] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== C - C++ Exception Handling ====== | ====== C - C++ Exception Handling ====== | ||
- | <code cpp> | + | [[C - C++ Exception Handling:bad_alloc Exceptions|bad_alloc Exceptions]] |
- | #include < | + | |
- | using namespace std; | + | |
- | + | ||
- | int main() | + | |
- | { | + | |
- | cout << " | + | |
- | + | ||
- | try { | + | |
- | cout << " | + | |
- | throw 1; // throw an error | + | |
- | cout << "This will not execute"; | + | |
- | } | + | |
- | catch (int i) { // catch an error | + | |
- | cout << " | + | |
- | cout << i << " | + | |
- | } | + | |
- | cout << " | + | |
- | return 0; | + | |
- | } | + | |
- | </ | + | |
+ | [[C - C++ Exception Handling: | ||
+ | [[C - C++ Exception Handling: | ||
- | ===== Multiple catch blocks ===== | + | [[C - C++ Exception Handling: |
- | <code cpp> | + | [[C - C++ Exception Handling: |
- | #include < | + | |
- | + | ||
- | int main () | + | |
- | { | + | |
- | try | + | |
- | { | + | |
- | char * mystring; | + | |
- | mystring = new char [10]; | + | |
- | if (mystring == NULL) | + | [[C - C++ Exception Handling: |
- | throw " | + | |
- | + | ||
- | for (int n=0; n<=100; n++) | + | |
- | { | + | |
- | if (n>9) | + | |
- | throw n; | + | |
- | mystring[n]=' | + | [[C - C++ Exception |
- | } | + | |
- | } | + | |
- | catch (int i) | + | |
- | { | + | |
- | cout << "index " << i << " is out of range" << endl; | + | |
- | } | + | |
- | catch (char * str) | + | |
- | { | + | |
- | cout << "Exception: | + | |
- | } | + | |
- | + | ||
- | return 0; | + | |
- | } | + | |
- | </ | + | |
+ | [[C - C++ Exception Handling: | ||
- | ===== Class exceptions ===== | ||
- | <code cpp> | ||
- | #include < | ||
- | #include < | ||
- | using namespace std; | ||
- | |||
- | class forgetcode | ||
- | { | ||
- | public: | ||
- | char Error[80]; | ||
- | | ||
- | forgetcode() { | ||
- | cout<<" | ||
- | } | ||
- | |||
- | void display() | ||
- | { | ||
- | cout<<" | ||
- | } | ||
- | }; | ||
- | |||
- | int main() | ||
- | { | ||
- | int i; | ||
- | try { | ||
- | cout << "Enter a positive number: "; | ||
- | cin>> | ||
- | |||
- | if(i<0) | ||
- | throw forgetcode(); | ||
- | else | ||
- | cout<<" | ||
- | } | ||
- | catch (forgetcode f) { | ||
- | f.display(); | ||
- | } | ||
- | |||
- | return 0; | ||
- | } | ||
- | </ | ||
c/c_exception_handling.1507803447.txt.gz · Last modified: 2020/07/15 09:30 (external edit)