OWBasic

Gruppe ERRORHANDLING Start INTRO Alphabetischer Index

Laufzeit-Fehler

Laufzeitfehler sind Fehler, die erst zur Laufzeit des Programmes festgestellt werden. Das können Fehler wie "Division durch Null", negative Operanden beim Wurzelziehen oder generell falsche Parameter bei Prozeduren und Funktionen sein. Normalerweise wird dieser Fehler unter Angabe der Prozedur, bei der dies aufgetreten ist, gemeldet und das Programm abgebrochen. Die Fehlermeldung enthält auch den aktuellen Wert des Programmzählers. Mit diesem Wert kann man den Fehler im Quelltext lokalisieren. Die Funktion "Find runtime error" im Options-Menü fragt zunächst nach dem Programm-Zählerwert. Dann muß das Programm gewählt werden. Die folgende Übersetzung des Programms stoppt an der Fehlerposition.

Manchmal möchte man die Fehlerbehandlung zur Laufzeit auch selbst vornehmen. Zum Beispiel könnte man solange alle MEMOs lesen, bis ein Fehler auftritt, weil kein weiteres mehr da ist. Hier ist der Fehler nur eine Meldung, daß man das letzte MEMO erreicht hat. Dazu ist es möglich, mit ERROROFF die normale Fehlerbehandlung auszuschalten. Fehler führen nicht mehr zu einer Fehlermeldung und Abbruch, sondern es wird die Integer-Variable ERROR% belegt. Nunmehr kann man selbst abfragen, ob ein Fehler aufgetreten ist. Weil jedoch auch unerwartete Fehler nun nicht mehr gemeldet werden, empfiehlt es sich, die normale Fehlerbehandlung mit ERRORON sofort wieder einzuschalten. ERRORON und ERROROFF wirken akkumulativ, damit das Prinzip auch funktioniert, wenn solche Prozeduren verschachtelt werden. Wird die Fehlerbehandlung 2 mal ausgeschaltet, so muß sie auch zweimal wieder eingeschaltet werden. Es ist deshalb streng auf die Paarung von ERRORON und ERROROFF zu achten.

Während die normale Fehlerbehandlung ausgeschaltet ist, muß nach Auswertung von ERROR% diese Variable wieder auf 0 gesetzt werden.

Anwenderprozeduren können mittels ERROR Fehler auslösen.


Gruppe ERRORHANDLING Start INTRO Alphabetischer Index