C++ 异常可以“突然出现”吗?不是字面意思。当 C++ 运行时可以从不是函数显式调用的地方抛出异常时,有人知道不明显的特殊情况吗?
平台特定的经验和偏离标准的实现信息也很有趣。
请不要发布有关以下内容的答案:
- 隐藏函数调用的宏处理器技巧;
- 默认构造函数;
- 析构函数;
- 重载运算符;
- 重载转换;
- 未重载的运算符
new
和new[]
;
MSVC 提供了一个选项,允许将硬件异常(GPF、被零除等)作为 C++ 异常处理。任何人都可以评论如何在其他平台上处理这个问题,或者也许有人知道标准中的一个正确位置来讨论这个问题吗?
对于否决这个问题的人:请有勇气说出这里出了什么问题。