dev_set_check — 指定 HDevelop 中的错误处理。
dev_set_check( : : Mode : )
dev_set_check 指定了 HDevelop 在发生错误时应如何响应,即当算子的返回状态不是 2 (H_MSG_TRUE) 时。
如果 Mode 的值为 'give_error'(这是系统默认值),则错误的算子调用将抛出异常,该异常可在 HDevelop 程序中通过 catch 语句进行捕获。但是,如果 HDevelop 程序中没有包围的 try-catch 代码块,且程序在 HDevelop 内执行,则程序执行将在出错的算子处停止,并打开一个错误消息框以显示错误文本。此外,相应的算子调用会显示在 算子窗口 中,以便用户能够轻松编辑并可能修正该错误算子调用的参数。如果该函数是从 HDevEngine 调用的,且 HDevelop 程序中未捕获该异常,则会抛出一个 HDevEngineException 对象,并退出该函数。
如果 Mode 设置为 '~give_error',则错误将被忽略,程序将继续执行下一个算子。dev_set_check('~give_error') 旨在与
dev_error_var 配合使用,后者允许检查算子调用返回的结果状态。
使用 HDevelop 的代码导出功能时,为该算子生成的代码的行为可能与相关的 HALCON 算子有所不同。有关 HDevelop 图形算子导出到不同编程语言的详细说明,请参阅
“HDevelop 用户指南” 中的 代码导出
-> 代码生成的通用方面
-> 图形窗口 一章。
Mode (输入控制) string → (string)
错误处理模式。
默认值: '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)
如果指定参数的值正确,dev_set_check 返回 2 (H_MSG_TRUE)。否则,将抛出一个异常并返回错误代码。
基础