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:17] 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]]
  
-===== Multiple catch blocks =====+[[C - C++ Exception Handling:Exceptions|Exceptions]]
  
-<code cpp> +[[C - C++ Exception Handling:Multiple catch blocks|Multiple catch blocks]]
-#include <iostream.h> +
-  +
-int main () +
-+
-  try +
-  { +
-    char * mystring; +
-    mystring = new char [10];+
  
-    if (mystring == NULL)  +[[C - C++ Exception Handling:Standard Exceptions|Standard Exceptions]]
-       throw "Allocation failure"; +
-     +
-    for (int n=0; n<=100; n+++
-    { +
-      if (n>9)  +
-         throw n;+
  
-      mystring[n]='a'; +[[C - C++ Exception Handling:Throwing Exceptions|Throwing Exceptions]]
-    } +
-  } +
-  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:Throwing Types|Throwing Types]]
  
-===== Class exceptions ===== 
  
-<code cpp> 
-#include <iostream> 
-#include <cstring> 
-using namespace std; 
-  
-class forgetcode  
-{ 
-public: 
-  char Error[80]; 
-   
-  forgetcode() {  
-    cout<<"Error has occured"; 
-  } 
-  
-  void display() 
-  { 
-    cout<<"\nPlease Enter a positve number"; 
-  } 
-}; 
-  
  
-int main() 
-{ 
-  int i; 
  
-  try { 
-    cout << "Enter a positive number: "; 
-    cin>>i; 
- 
-    if(i<0) 
-      throw forgetcode(); 
-    else 
-      cout<<"\nThe entered number is "<<i; 
-  } 
-  catch (forgetcode f) {  
-    f.display(); 
-  } 
-  
-  return 0; 
-} 
-</code> 
  
c/c_exception_handling.1507803447.txt.gz · Last modified: 2020/07/15 09:30 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki