【发布时间】:2011-03-08 00:50:46
【问题描述】:
使用 Python,我可以很容易地得到异常的名称,如下所示。
- 运行代码,即 x = 3/0 从 python 获取异常
- “ZeroDivisionError:整数除法或模除以零”告诉我这是 ZeroDivisionError
- 修改代码,即 try: x=3/0 except ZeroDivisionError: DO something
有没有类似的方法可以用 C++ 找到异常名称?
当我运行 x = 3/0 时,编译后的二进制文件只是抛出“浮点异常”,与 python 相比,这不是那么有用。
【问题讨论】:
-
你不应该除以零 ;)
-
确实;除以零将调用未定义的行为。在 Posix 平台上,它将引发 SIGFPE 而不是抛出 C++ 异常,因为这是 Posix 定义的行为。
标签: c++ python exception-handling