c++捕获halcon异常
2015-10-26 15:09
751 查看
一、问题
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
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
相关文章推荐
- C++设计模式之单例模式(改编自C++设计模式)
- C++STL学习(11)STL算法(2)
- C++给函数传数组参数
- 栈stack的小知识
- C++用链表存放数据
- C/C++面试(4)——链表操作
- c++学习笔记(十二):C++编译器多态实现原理
- 设计模式之迭代器模式
- C语言-指针
- C语言-结构体
- C/C++语言的一些精简归纳
- 单链表翻转---C++实现
- VC++ 如何使窗体最大化或是最小化
- c语言 转义符 算术运算符及赋值运算符 复合运算符 逗号运算式和表达式 关系运算符 逻辑运算符
- iOS之C语言指针,数组小结
- VC++ 两种动态调整控件位置的方法(CButton设置为Radio形式会出现错误)
- c++11 单例模式可变参数实现完美转发
- C/C++ 使用rand()组合形式生成大于15位的随机数时存在的问题
- 如何安装Microsoft Visual C++6.0
- c++学习笔记(十一):函数重载VS函数重写