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...