Zum Hauptinhalt springen

ErrCall

ErrCall(alpha1)

Ausführbar von Clients mit grafischer Oberfläche Ausführbar vom Server Ausführbar von Clients mit Programmierschnittstelle Ausführbar von der Web-Schnittstelle Ausführbar vom Druckprozessor Ausführbar von der ODBC-Schnittstelle Ausführbar vom SOA-Service

Prozedur bei Laufzeitfehlern

Details

In dieser Funktion kann in (alpha1) eine Prozedur oder Funktion angegeben werden, die bei Laufzeitfehlern vor der entsprechenden Bildschirmmeldung aufgerufen wird. Eine Funktion innerhalb einer Prozedur kann nach dem Prozedurnamen mit einem : getrennt angegeben werden.

Beispiel:

ErrCall ( 'Err:ErrHandler' );

Bei einem Fehler wird die Funktion ErrHandler in der Prozedur Err aufgerufen.

Der Funktion können keine Parameter übergeben werden. Um Informationen über den Laufzeitfehler zu erhalten, stehen die folgenden Eigenschaften des System -Objektes (_Sys) zur Verfügung:

  • ErrCode - Fehlerwert des Laufzeitfehlers
  • ErrText - Text der Fehlermeldung
  • ErrProc - Prozedurfunktion, in der der Fehler aufgetreten ist
  • ErrLine - Programmzeile, in der der Fehler aufgetreten ist
  • ErrSource - Name der Include-Prozedur

Es kann ein Rückgabewert vom Typ logic definiert werden. Wird in diesem Fall true zurückgegeben, verhält sich die Funktion wie ohne definierten Rückgabewert. Es wird eine Laufzeitfehler-Meldung von CONZEPT 16 generiert. Wird false oder nichts zurückgegeben, erscheint kein Laufzeitfehler.

info

Falls im SOA-Service die Funktion ein false zurückliefert, wird der Laufzeitfehler nicht protokolliert. Bei aktiver Debuggerverbindung erfolgt jedoch immer ein Anzeige des Fehlers im Debugger, unabhängig vom Rückgabewert.

info

Die Funktion, die zum Fehler führte, wird unabhängig vom Rückgabewert abgebrochen.

Beispiele:

// Anzeige des CONZEPT 16-Laufzeitfehlers nach der Funktion
sub ErrHandler
{
...
}

// oder
sub ErrHandler : logic;
{
...
return(true);
}

// Unterdrückung des Laufzeitfehlers
sub ErrHandler : logic;
{
...
}

// oder
sub ErrHandler : logic;
{
...
return(false);
}

Die Prozedur wird mit dem Befehl ErrCall() bestimmt und bleibt so lange erhalten, bis sie durch einen erneuten Aufruf von ErrCall() ersetzt oder durch die Übergabe eines Leerstrings '' entfernt wird.

Der Laufzeitfehler wird nach dem Durchführen der Prozedur angezeigt. In dieser Prozedur kann bei einem Laufzeitfehler ein Protokoll geschrieben werden, bevor die fehlerhafte Prozedur abgebrochen wird. Um einen Laufzeitfehler zu unterdrücken und in der eigenen Programmierung zu verarbeiten, muss der Befehl try verwendet werden.

Tritt während der Verarbeitung der ErrCall()-Funktion ein Laufzeitfehler auf, bricht die Funktion ohne eine Fehlermeldung ab.