OpenCV VideoWriter在捕获后仍在满磁盘上抛出运行时错误 我使用OpenCV 2.4.9和Visual C++ 2017。我正在写视频,出于测试目的,我尝试在一张完整的磁盘上写一帧

OpenCV VideoWriter在捕获后仍在满磁盘上抛出运行时错误 我使用OpenCV 2.4.9和Visual C++ 2017。我正在写视频,出于测试目的,我尝试在一张完整的磁盘上写一帧,opencv,c++11,visual-c++,Opencv,C++11,Visual C++,是的 试试看{ VooToWrrase> P> opencv使用BuffTy]()通知该问题。由于异常发送“代码> Sigabt < /Cord> >,它不是C++异常,而是一个信号——您不能在尝试catch块中捕获它。< /P> 另外,SIGABRT会导致您的程序崩溃。您仍然可以挂接它并尝试进行一些清理,但这不会阻止程序终止 我遇到的唯一一个可以让你解决SIGABRT问题的解决方案是…(除非这是个坏主意)。如果你调试,你会遇到什么异常?或者它实际上是一个异常?可能不是。我相信OpenCV使用a

是的

试试看{
VooToWrrase> P> opencv使用BuffTy]()通知该问题。由于异常发送“代码> Sigabt < /Cord> >,它不是C++异常,而是一个<代码>信号<代码>——您不能在尝试catch块中捕获它。< /P>
另外,
SIGABRT
会导致您的程序崩溃。您仍然可以挂接它并尝试进行一些清理,但这不会阻止程序终止


我遇到的唯一一个可以让你解决
SIGABRT
问题的解决方案是

(除非这是个坏主意)。如果你调试,你会遇到什么异常?或者它实际上是一个异常?可能不是。我相信OpenCV使用abort()发送sig_abrt函数。因此,不,您无法捕获该异常。谢谢你们!调试显示了一条更具体的错误消息:“abort()已被调用”。Gald您找到了它。如果您想做一些特定的事情,您可以挂接abort函数。但到那时,您可能无法做很多事情。
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
}