Halcon 10 VS2013平台 MFC C++.
最近老是出现程序崩溃,整的整个人都快崩溃了。
因为,异常捕获不稳定,大多数都捕获不到,软件就崩溃了。是连接相机的时候才出现,加载图片处理,正常情况下,没有问题。
崩溃的情况有:
1,显示图片是,图片是正常的,就崩溃了,如 disp_obj(outRegion, hWndHandle);;
2,阈值分割处理图片,又是也会崩溃,如 edges_sub_pix(ImageInvert, &Edges, "canny", 3, 20, 40);
处理办法:
Halcon的异常(HDevExpDefaultException)没有被“安装”。
Halcon中提供了安装方法,static Handler InstallHHandler(Handler proc)。
可以定义自己程序的异常,在try catch前使用InstallHHandler安装。
修改方法:
1,自定义异常:
void MyHalconExceptionHandler(const HException& except)
{
throw except;
},
2,在构造函数中,进行安装:
HException::InstallHHandler(&MyHalconExceptionHandler);
3,调用try catch块
try
{
tuple_max(hv_Length, &hv_Max);
}
catch(HalconCpp::HException &except)
{
//do something
}