dev_set_check
— Festlegen des Fehlerverhaltens in HDevelop.
dev_set_check( : : Mode : )
dev_set_check
legt fest, wie HDevelop im Falle eines Fehlers
reagieren soll, also dann, wenn der Rückgabewert eines Operators nicht
H_MSG_TRUE (2) ist.
Hat Mode
den Wert 'give_error' -- was der
Standardeinstellung entspricht -- so wird im Fehlerfall eine Exception
geworfen, die innerhalb des HDevelop-Programms von einer
catch
-Anweisung gefangen werden kann.
Befindet sich jedoch kein umgebender try
-catch
-Block im
HDevelop-Programm, wird die Programmausführung beim fehlerverursachenden
Operator angehalten und ein Fehlerdialog mit der entsprechenden Fehlermeldung
angezeigt.
Darüber hinaus wird der entsprechende Operatoraufruf im
'Operatorfenster' angezeigt, damit der Fehler möglichst gleich behoben
werden kann.
Wenn die Prozedur aus der HDevEngine aufgerufen und die Exception nicht
innerhalb des HDevelop-Programms abgefangen wurde, wird eine
HDevEngineException
geworfen, sowie die Prozedur verlassen.
Hat Mode
den Wert
'~give_error' , wird der Fehler
ignoriert und die Programmausführung mit dem nächsten Operator fortgesetzt.
dev_set_check('~give_error')
sollte in Verbindung mit
dev_error_var
verwendet werden, was die Auswertung der Rückgabewerte
der Operatoraufrufe ermöglicht.
Beim Export von HDevelop-Programmen ist zu beachten, dass der für diesen
Operator generierte Code sich anders verhalten kann, als der entsprechende
HALCON-Operator.
Eine detaillierte Beschreibung der Besonderheiten, die beim Export
von grafischen HDevelop-Operatoren zu beachten sind, findet sich im
„HDevelop User's Guide“ im Kapitel Code Export
-> General Aspects of Code Generation
-> Graphics Windows
.
Mode
(input_control) string →
(string)
Art des Fehlerverhaltens.
Defaultwert: 'give_error'
dev_close_window () dev_open_window (0, 0, 512, 512, 'black', WindowHandle) dev_error_var (Error, 1) dev_set_check ('~give_error') FileName := 'wrong_name' read_image (Image, FileName) ReadError := Error if (ReadError != H_MSG_TRUE) write_string (WindowHandle, 'wrong file name: '+FileName) endif * Now the program will stop with an exception dev_set_check ('give_error') read_image (Image, FileName)
Sind die Parameterwerte korrekt, dann liefert
dev_set_check
den Wert 2 (H_MSG_TRUE).
Andernfalls wird eine Fehlerbehandlung durchgeführt und ein Fehlercode
zurückgeliefert.
Foundation