Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
throw
|
throw ( errorCode {; description} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
errorCode | Lange Ganzzahl |
![]() |
A long integer representing the error code. | |||||
description | Text |
![]() |
A text providing a description of the error. | |||||
throw {( errorObj )} | ||||||||
Parameter | Typ | Beschreibung | ||||||
errorObj | Objekt |
![]() |
An object containing properties to build the error | |||||
Der Befehl throw erzeugt einen Fehler, der entweder sofort oder bei der Rückkehr der aufrufenden Methode zu ihrem Aufrufer (verzögerter Modus) ausgelöst wird.
Wenn Sie in Ihrem 4D Code auf eine Situation stoßen, in der ein Fehler auftritt, können Sie den Befehl throw verwenden, um explizit einen Fehler auszulösen und eine spezifische Fehlermeldung oder Fehlernummer anzugeben. Dies kann nützlich sein, um außergewöhnliche Bedingungen oder ungültige Eingaben zu signalisieren.
Fehler, die mit dem Befehl throw ausgelöst werden, werden von der 4D Runtime wie normale Fehler behandelt: Der Standard-Fehlerdialog wird angezeigt, es sei denn, es wurde eine Abfangmethode mit dem Befehl ON ERR CALL installiert.
Der Befehl unterstützt drei Syntaxen:
throw(errorCode{; description})
Es gibt die Fehlermeldung und einen optionalen Beschreibungstext an, der Fehler wird sofort ausgelöst.
Wenn keine Beschreibung angegeben wird: wird sie mit ausgefüllt:
Das Objekt errorObj ermöglicht detailliertere Fehlerinformationen und die Kontrolle über die Fehlerbehandlung. errorObj kann die folgenden Eigenschaften sowie jede benutzerdefinierte Eigenschaft enthalten, auf die Sie die Eigenschaft message beziehen können.
Sie kann die folgenden Eigenschaften enthalten sowie jede benutzerdefinierte Eigenschaft, auf die Sie mit Hilfe von Platzhaltern innerhalb der Nachrichteneigenschaft verweisen können.
Eigenschaft | Typ | Beschreibung |
componentSignature | Text | Vier lateinische Buchstaben als Signatur zur eindeutigen Identifizierung der Fehlerursache.
|
errCode | Nummer | Fehlermeldung.
|
message | Text | Beschreibung des Fehlers.
|
deferred | Boolean | True, wenn der Fehler zurückgestellt werden soll, wenn die aktuelle Methode zurückkehrt oder am Ende des Try-Blocks. Der Standardwert ist false. |
Wenn Sie diese Syntax verwenden, wird das errorObj-Objekt in Last errors zurückgegeben.
Hinweis: Es ist möglich, den Befehl mehrmals in derselben Projektmethode aufzurufen, um mehrere Fehler zu erzeugen. Sie können die Option Zurückgestellt verwenden, um alle Fehler auf einmal zu senden.
throw
Es wirft alle aktuellen Fehler im deferred-modus, d.h. sie werden zu einem Stack hinzugefügt und behandelt, wenn die aufrufende Methode zurückkehrt. Dies geschieht normalerweise innerhalb eines ON ERR CALL Callbacks.
var $code : Ganzzahl
var $Beschreibung : Text
$code :=50042 //Benutzerdefinierter Code
$description :="Dies ist ein benutzerdefinierter Fehler"
throw($code ;$description) // Wirft einen Fehler mit der Meldung "Dies ist ein benutzerdefinierter Fehler" und errCode = 50042
throw({errCode: 1; message: "Dies ist ein Fehler"}) // Wirft einen Fehler mit errCode = 1 und der Meldung "Dies ist ein Fehler"
throw({errCode: 1}) // Wirft einen Fehler mit errCode = 1 und der Meldung "Fehlermeldung: 1 (Host)"
throw({message: "Dies ist ein Fehler"}) // Wirft einen Fehler mit errCode = -1 und der Meldung "Dies ist mein Fehler"
throw( {message: "Dies ist mein Fehler"; deferred: True}) // Wirft einen Fehler mit der Meldung "Dies ist mein Fehler" und errCode = -1 im deferred Modus
throw({componentSignature: "xbox"; errCode: 600; name: "myFileName"; path: "myFilePath"; deferred: True})
// Wirft einen Fehler mit der Meldung "Datei myFileName nicht gefunden (myFilePath)" im Deferred-Modus
Produkt: 4D
Thema: Unterbrechungen
Nummer:
1805
Erstellt: 4D v20 R2
Geändert: 4D v20 R5
4D Programmiersprache ( 4D v20 R7)