User Tools

Site Tools


c:c_exception_handling

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
c:c_exception_handling [2017/10/12 10:13] peterc: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 <iostream> +
-using namespace std; +
-  +
-int main() +
-+
-  cout << "Start\n"; +
-  +
-  try { +
-    cout << "Inside try block\n"; +
-    throw 1;                          // throw an error +
-    cout << "This will not execute"; +
-  } +
-  catch (int i) {                     // catch an error +
-    cout << "Caught an exception -- value is"; +
-    cout << i << "\n"; +
-  } +
-  cout << "End"; +
-  return 0; +
-+
-</code>+
  
 +[[C - C++ Exception Handling:Class Exceptions|Class Exceptions]]
  
 +[[C - C++ Exception Handling:Derived Class Exceptions|Derived Class Exceptions]]
 +
 +[[C - C++ Exception Handling:Exceptions|Exceptions]]
 +
 +[[C - C++ Exception Handling:Multiple catch blocks|Multiple catch blocks]]
 +
 +[[C - C++ Exception Handling:Standard Exceptions|Standard Exceptions]]
 +
 +[[C - C++ Exception Handling:Throwing Exceptions|Throwing Exceptions]]
 +
 +[[C - C++ Exception Handling:Throwing Types|Throwing Types]]
  
-===== Multiple catch blocks ===== 
  
-<code cpp> 
-#include <iostream.h> 
-  
-int main () 
-{ 
-  try 
-  { 
-    char * mystring; 
-    mystring = new char [10]; 
  
-    if (mystring == NULL)  
-       throw "Allocation failure"; 
-     
-    for (int n=0; n<=100; n++) 
-    { 
-      if (n>9)  
-         throw n; 
  
-      mystring[n]='a'; 
-    } 
-  } 
-  catch (int i) 
-  { 
-    cout << "index " << i << " is out of range" << endl; 
-  } 
-  catch (char * str) 
-  { 
-    cout << "Exception: " << str << endl; 
-  } 
-   
-  return 0; 
-} 
-</code> 
  
c/c_exception_handling.1507803212.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki