一、问题
halcon算子出现调用问题会自行报错,从而使得程序崩溃。可以通过采用C++捕获错误,来规避这个问题。
二、解决
可以定义自己程序的异常,在try catch前使用InstallHHandler安装。
1、自定义异常void MyHalconExceptionHandler(const HException& except)
{
throw except;
}
2、在构造 函数 中,进行安装HException::InstallHHandler(&MyHalconExceptionHandler);
只要出现在try catch语句之前。
3、调用try catch块try
{
tuple_max(hv_Length, &hv_Max);
}
catch(Halcon::HException &except)
{
error_num = except.err;
//do something}
参考:
1,HALCON / C++ User’s Manual 第五章Chapter 5 Exception Handling
2,Halcon帮助文档, Programmer‘s Gude - 11.3 Error Handling