halcon 異常處理

2021-10-14 08:21:25 字數 1399 閱讀 3759

1,halcon開發環境中,由 dev_set_preferences ('suppress_handled_exceptions_dlg', 'false') 運算元設定是否直接顯示異常視窗,設為false則直接丟擲。效果如下圖。

故一般設為 true.

2,使用 try_catch 來處理程式異常。

丟擲的 exception 資訊可由   dev_get_exception_data (exception, 'error_msg', errormsg) 解析。如想獲取更多的異常資訊,參見如下**。

for index := 0 to |imagenames| - 1 by 1

tryread_image (image, imagenames[index])

catch (exception)

dev_get_exception_data (exception, 'error_code', errorcode)

if (errorcode == 5200)

* 這裡將exception,imagenames[index]一起丟擲了,imagenames[index] 這個字串即為'user_data'。

throw ([exception,imagenames[index]])

endif

throw (exception)

endtry

endfor

return ()

3,異常也可通過,dev_set_check  dev_error_var  來處理

dev_close_window ()

dev_open_window (0, 0, 512, 512, 'black', windowhandle)

dev_error_var (error, 1)

* 0 關閉 1 開啟

dev_set_check ('~give_error') * 捕捉錯誤塊,設定不直接丟擲異常

filename := 'fabri1'

read_image (image, filename)

readerror := error

dev_set_check ('give_error') * 捕捉錯誤塊 ,設定直接丟擲異常

* h_msg_true 程式正常執行

if (readerror != h_msg_true)

write_string (windowhandle, 'wrong file name: ' + filename)

endif

* now the program will stop with an exception

* read_image (image, filename)

Halcon一日一練 Halcon異常判斷方法

1 trycatch trycatch處理的方式如下 try 可能會出現錯誤的語句 catch exception 獲取錯誤 errorcode exception 0 對錯誤的回應 endtry 程式繼續 舉個例子 try read image image,cuowu 讀取乙個影象,但影象路徑是錯...

Halcon形態學處理

一般影象處理是針對影象做形狀的改變,而形態處理則是對影象進行結構性的改變,而常見的形態學處理就是針對二值影象 影象中的任何畫素灰度不是0就是255 的膨脹 dilation 腐蝕 erosion 開運算 先腐蝕在膨脹 閉運算 先膨脹再腐蝕 注意 如果對灰度圖進行膨脹 腐蝕等,會起到增強影象對比度的效...

struts 異常處理 全域性異常處理

記錄一下全域性異常處理的過程 處理主動丟擲的異常,轉向錯誤提示頁面。1 寫乙個自己的異常,繼承runtimeexception,從父類生成構造方法 package me.yndy.srtp.exception suppresswarnings serial public class errorexc...