【发布时间】:2018-02-14 13:26:12
【问题描述】:
我正在使用 OpenCV 2.4.9 和 Visual C++ 2017。我正在编写视频并出于测试目的尝试在完整磁盘上写入帧。
我做到了
try {
video_writer << frame;
} catch (cv::Exception& ex) {
// Handle exception
} catch (std::exception &e){
// Handle exception
} catch (const std::runtime_error& error) {
// Handle runtime error
}
在一个完整的磁盘上,并希望能够捕获一个异常。但是,Microsoft Visual C++ Runtime Library 出现运行时错误,指出“此应用程序已请求运行时以不寻常的方式终止它。”
我该如何捕捉到这个?
【问题讨论】:
-
...(除非这是个坏主意)。如果你调试,你会得到什么异常 - 或者它实际上是一个异常?可能不是。 -
我相信 OpenCV 在这种情况下会使用 abort() 函数发送 sig_abrt。所以不,你不能捕捉到那个异常。
-
谢谢你们!调试显示更具体的错误消息:“abort() 已被调用”。
-
你找到它了。如果你想做一些特定的事情,你可以挂接到 abort 函数。但到那时你可能做不了什么。
标签: opencv c++11 visual-c++