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 @   可为测控  阅读(8314)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示