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


1、TryCatch

tryCatch處理的方式如下:

try
*可能會出現錯誤的語句
....
catch(Exception)
*獲取錯誤代碼
ErrorCode:=Exception[0]
**對錯誤的回應
...
...
endtry
*程序繼續

舉個例子:

try
    read_image(Image,'cuowu') //讀取一個圖像,但圖像路徑是錯的
   
catch
    if(Exception[0]=5200')
       dev_get_excption_data(Exception,'error_msg',ErrMsg)
       set_tposition(3600,20,10)
       write_string(3600,ErrMsg)
       return()

else
      throw([Exception,'UnkownError'])

endif

endtry

 dev_get_exception_data函數可以找到對應的錯誤信息,從而顯示出來。

 

2、判斷法處理異常

set_display_font(3600,20,'mono','true','false')
read_image(Image,'mreut')//讀取圖像
threshold(Image,Region,0,100)
connection(Region,ConenctionRegion)
*gen_empty_obj(SelectedRegions)//
select_shape(ConenctionRegion,SelectedRegions1, 'area', 'and', 5000, 99999)
count_obj(SelectedRegions1, Number)

*判斷統計值是否為空
if(Number==[])
    dev_display(SelectedRegions1)
    disp_message(3600,'顯示SelectedRegions 區域','window',12, 12, 'black', 'true')
else
    disp_message(3600,'沒有找出對應的SelectedRegions區域','window', 12, 12, 'black', 'true')
    
endif

*判斷統計值的另一種方法
tuple_is_number(Number,IsNumber)
if(IsNumber==1)
    disp_message(3600,'數值無效', 'window', 12, 12, 'black', 'true')
    *退出程序運行
    
endif

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM