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
2 (H_MSG_TRUE) 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