01 // Strukturierte Fehlerbehandlung

02 // Setzen der allgemeinen Fehlerbehandlung
03 // Datei: sfehl03.cpp
05 #include <stdio.h>
06 #include <iostream.h>
07 #include <except.h>
09 // Bei nicht behandelten Fehlern
10 void abbrechen ()
11 {
12 cerr << "\nAbbruch, unbehandelter Fehler.\n";
13 fcloseall();      // sinnvolle Schlußbehandlung
14 exit (3);
15 }
17 long teile (long op1, long op2)
18 {
19 if (op2 == 0)
20   throw 99L;    // Auswerfen long-Fehler
21 return op1/op2;
22 }
24 int main ()
25 {
26 set_terminate(abbrechen);    // Setze Fehlerhandler
28 try
29  {
30  cerr <<"\x1b[H\x1b[2J";
31  cerr<<"Strukturierte Fehlerbehandlung: Fall 3";
32  cerr <<"\nSetzen default Fehlerbehandlung.";
33  cerr<<"\nErgebnis ist: ",teile (33L,0L)<<endl;
34  }
35 catch (int i)    // wird hier nicht erreicht
36   {
37   cerr << "\nFehlerbehandlung für int\n";
38   }
3