| Operatoren |
dev_get_exception_data — Ermöglicht den Zugriff auf definierte Elemente eines Exception-Tupels.
Der Operator dev_get_exception_data erlaubt den Zugriff auf definierte Elemente eines mit catch gefangenen Exception-Tupels. Bis auf den Fehlercode, der immer an der ersten Stelle des Exception-Tupels steht, müssen alle anderen Daten des Exception-Tupels mittels dev_get_exception_data abgefragt werden, da sich die Reihenfolge und der Umfang der bereitgestellten Informationen unter Umständen in zukünftigen Versionen ändern und sich beim exportierten Code von Sprache zu Sprache unterscheiden kann.
In HDevelop und HDevEngine enthält das Exception-Tupel, das an den Parameter Exception übergeben wird, bei einem Operatorfehler die nachfolgend aufgelisteten Daten. Dabei ist der Slot-Name an den Parameter Name zu übergeben, die gewünschte Information wird in Value zurückgeliefert. Es können auch mehrere Slots gleichzeitig abgefragt werden. In diesem Fall ist ein Tupel mit den Slotnamen zu übergeben, in Value wird ein entsprechendes Tupel mit den angeforderten Daten zurückgeliefert. Ist eine gewünschte Information nicht verfügbar, wird als Ergebnis für diesen Wert ein leerer String ('') zurückgeliefert.
Der Operator dev_get_exception_data ist nur für die Verwendung in HDevelop und HDevEngine gedacht. Manche Informationen sind nicht verfügbar, wenn der Operator exportiert wird.
HALCON- oder benutzerdefinierter Fehlercode. Die HALCON-Fehlercodes (Codes < 10000) werden im Anhang des „Extension Package Programmer's Manual“ aufgelistet.
Zusätzlicher HDevelop-spezifischer Fehlercode, der darüber informiert, ob der Fehler innerhalb des HALCON-Operators generiert wurde (Fehlercode = 21000), oder ob er bereits bei der Übergabe der Parameter, d.h. bei der Auswertung der Parameterausdrücke aufgetreten ist. Im zweiten Fall wird mit diesem Fehlercode die Art des Fehlers genauer spezifiziert. Die relevanten HDevelop-Fehlercodes sind unten aufgelistet.
HALCON-Fehlertext.
Fehlertext, der HDevelop-spezifischen Fehler beschreibt.
Zeilennummer, in der der Fehler aufgetreten ist.
Name des Operators (tritt der Fehler in einer geschützten Prozedur auf, wird '--protected--' zurückgeliefert).
Aufruftiefe ('main' hat die Tiefe 1).
Name der Prozedur.
Benutzerdefiniertes Exception-Tupel - das sind die Daten, die beim Weiterwerfen einer Operatorfehler-Exception an das Exception-Tupel hinten angehängt wurden, bzw. die Daten, die bei einer benutzerdefinierten Exception hinter dem Fehlercode (>= 30000) folgen. Enthält das Exception-Tupel keine benutzerdefinierten Daten, wird ein leeres Tupel zurückgeliefert. Achtung: Diese Daten können nicht zusammen mit anderen Informationen in einem dev_get_exception_data-Aufruf abgefragt werden.
Tupel mit den Fehlerdaten oder eigenen Fehlercodes.
Namen der gewünschten Fehlerdaten.
Defaultwert: 'error_code'
Werteliste: 'add_error_code', 'add_error_message', 'call_stack_depth', 'error_code', 'error_message', 'operator', 'procedure', 'program_line', 'user_data'
Angeforderte Fehlerdaten.
Sind die Parameterwerte korrekt, dann liefert dev_get_exception_data (als Operator) den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode zurückgeliefert.
try, catch, endtry, throw, dev_set_check
Foundation
| Operatoren |