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

 

posted @ 2018-02-02 12:41  可为测控  阅读(8261)  评论(0编辑  收藏  举报