opencv - 尽管捕获了OpenCV VideoWriter,但仍在全盘上引发运行时错误

标签 opencv c++11 visual-c++

我正在使用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/

相关文章:

c++11 - g++ 5.4.0 - 无法使用 C++14 标准

c++ - 编译加密库时的问题

c++ - 仅在 Visual Studio 外部运行时才能找到文本文件

c++ - 将 vector 中的元素与数组中的元素进行比较

opencv - 添加和提取图像元数据

python - 您可以将 OpenCV solvePNP 与等距柱状图一起使用吗?

python - 如何使用OpenCV或numpy打印直线上每个点的坐标?

python - 如何获取带有时间戳的帧,其中帧是从 python 中的视频转换而来的

c++ - 在两个 vector 中对 vector 进行空间高效解包的优雅方法

visual-studio-2008 - 如何为 Visual C++ 2008 (Express edition) 编译 Cairo