Halcon异常处理(MFC)

halcon自带异常处理流程,但是往往会在报错框弹出后,如果不忽略会导致程序崩溃掉,为此,在mfc编程中,需要针对哈利con处理函数做异常处理,我这里总结了2种方法,乐意和大家分享!

方法1、she_check( )

set_check("~give_error")和set_check("give_error")配合,开关Halcon自己的异常处理,自己获得错误返回值和在通过 get_error_text()获取错误文本信息;

直接上例子说用法,例如:

1 Herror Rtn = H_MSG_TRUE;//正确的返回值
2 char chrErrorText[ 1024 ];
3 
4 set_check("~give_error");//屏蔽
5 Rtn = write_image( hoImgSv, "bmp", 0, strImgPath );//通过获取错误文本信息
6 set_check("give_error");//开启
7 get_error_text( Rtn, chrErrorText ); 

 

方法2、try catch  

在mfc中使用try catch会捕获不到异常,原因是halcon自己先捕获异常处理了,需要自定义异常处理,并使用halcon的 InstallHHandler()安装;

例子代码如下:

 

//1,自定义异常:
void MyExceptionHandler( const HException& except )
{
   throw except;
};

//2,在try catch 使用前,进行安装自定义异常处理:
HException::InstallHHandler( &MyExceptionHandler);

//3,调用try catch
try
{
   tuple_max( htLength, &htMax );
}
catch( HalconCpp::HException &except ) //HalconCpp或者Halcon,具体看halcon版本
{
  //异常的处理,例如messagebox
}

 

转载于:https://www.cnblogs.com/MoyuDing/p/7686354.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值