【发布时间】:2016-06-30 17:24:37
【问题描述】:
我想问一下,如何捕获在函数std:sort 中某处抛出的异常。我试过这段代码
try
{
sort([arguments])
}
catch(...)
{
cout << "error";
}
但是,它不起作用。有没有可能,这个怎么写?
【问题讨论】:
-
怎么不行?怎么了?可以发minimal reproducible example吗?
-
只是出于好奇,有什么例外?
-
如果您在调试器中看到异常的类型,请尝试按名称捕获它
-
我没有看到异常类型,因为我没有在调试模式下运行应用程序。我能做的最好的就是:
Unhandled exception at 0x0040627E in graph.exe: 0xC0000005: Access violation reading location 0x00F5F318.我什至不能提供一个最小的例子,因为这是一个相当大的项目的一部分,它只在非常特殊的情况下抛出异常。 -
@E.Brown 也不例外。您的程序正在做一些完全非法的事情,而操作系统正在终止它。您的代码可能存在缓冲区溢出、与传递给排序的迭代器或比较函数相关的类似内容的无效指针。