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
专注机器视觉