next up previous
Nächste Seite: Mechanismen für Ausnahmenbehandlungen Aufwärts: Ausnahmenbehandlungen Vorherige Seite: Einführung

Traditionelle Techniken

Es gibt sehr unterschiedliche Techniken zur Unterstützung von Ausnahmenbehandlungen. In Sprachen, die Ausnahmenbehandlungen nicht durch besondere Sprachkonstrukte unterstützen, wird typischerweise eine Technik verwendet, die auf besondere Rückgabewerte oder Statusvariablen beruht. Als Beispiel dafür kann die C-Bibliothek verwendet werden:

/* Fehlerbehandlung in C */
if (write(fd, buf, nbytes) < 0)
        /* Ausfall von write() -- errno enthaelt die Fehlernummer */
else
        /* write() hat geklappt */

Hier liefert write entweder eine positive Anzahl zurück, die für die Anzahl der gelesenen Bytes steht, oder -1, das eine Fehlerindikation darstellt. In der globalen Variablen errno ist dann die zugehörige Fehlernummer zu finden. Obwohl es naturgemäß erscheint, Untersuchungen auf mögliche Ausnahmesituationen direkt hinter einem Prozeduraufruf vorzunehmen, gibt es bei dieser Technik einige Probleme:


next up previous
Nächste Seite: Mechanismen für Ausnahmenbehandlungen Aufwärts: Ausnahmenbehandlungen Vorherige Seite: Einführung
Andreas Borchert 2000-12-18