在c++中有没有我们不能处理异常的部分?
发布于 2010-06-21 16:30:42
您可以抛出自己的异常并处理它。你想说的是像构造函数、析构函数这样的地方吗?在这种情况下,你可以参考下面的http://www.parashift.com/c++-faq-lite/exceptions.html#faq-17.2
你能说得更具体点吗。你到底在找什么。
发布于 2010-06-21 16:38:05
析构函数决不能抛出异常,也不能在信号处理函数中使用异常,因为如果你问的是这个问题,那几乎总是不会有好的结果,但是你的问题有点模糊。
发布于 2010-06-21 16:45:58
只有一种情况下,异常处理程序无法处理异常-构造函数周围的函数try/catch块。
catch块可以转换捕获的异常,但它们无法在不抛出异常的情况下退出。有关更完整的讨论,请参阅here。
如果你问的是不能抛出异常的地方,而不是不能处理异常的地方,那么...
为析构函数抛出异常是非常不明智的。在什么情况下它是安全的是很难保证的,你应该避免从析构函数中抛出。
https://stackoverflow.com/questions/3083082
复制相似问题