我正在使用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()
通知该问题。由于中止发送SIGABRT
,这不是c++异常,而是signal
-您不能在try catch块中捕获它。
另外SIGABRT
无论如何都会导致程序崩溃。您仍然可以将其挂接并尝试进行一些清理,但这不会阻止程序终止。
我遇到的唯一可让您解决该SIGABRT
问题的解决方案是HERE
关于opencv - 尽管捕获了OpenCV VideoWriter,但仍在全盘上引发运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48788361/