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:38] 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 ======
 +
 +[[C - C++ Exception Handling:bad_alloc Exceptions|bad_alloc Exceptions]]
  
 [[C - C++ Exception Handling:Class Exceptions|Class Exceptions]] [[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:Exceptions|Exceptions]]
Line 11: Line 15:
 [[C - C++ Exception Handling:Throwing Exceptions|Throwing Exceptions]] [[C - C++ Exception Handling:Throwing Exceptions|Throwing Exceptions]]
  
 +[[C - C++ Exception Handling:Throwing Types|Throwing Types]]
  
  
Line 16: Line 21:
  
  
-===== Throw Types ===== 
- 
-<code cpp> 
-#include <iostream> 
-using namespace std; 
-  
-// only throw ints, chars, and doubles 
-void f(int val) throw(int, char, double) 
-{ 
-  if(val==0)  
-     throw val; 
- 
-  if(val==1)  
-     throw 'a'; 
- 
-  if(val==2)  
-     throw 123.23; 
-} 
-  
- 
-int main() 
-{ 
-  try{ 
-    f(0); // also, try passing 1 and 2 to f() 
-  } 
-  catch(int i) { 
-    cout << "Caught an integer\n"; 
-  } 
-  catch(char c) {  
-    cout << "Caught char\n"; 
-  } 
-  catch(double d) {  
-    cout << "Caught double\n"; 
-  } 
- 
-  return 0; 
-} 
-</code> 
c/c_exception_handling.1507804703.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki