0

对谷歌来说不容易的 Python 菜鸟问题。来自 C++,我仍然在掌握 Python 中可以做的事情。

我想在 Python 中引发异常并向异常添加数字和字符串值。异常必须是标准 Python 异常,而不是自定义异常。我正计划使用 RuntimeError。

那么,我可以向 RuntimeError 添加一个数字和字符串值吗?

(编辑:为什么我不只使用自定义异常?我试过了!请参阅Python:引用扩展模块中使用 PyErr_NewException 创建的异常类

4

2 回答 2

1

RuntimeError 的初始化程序采用任意一组参数。像这样:

if temp < 0:
    raise RuntimeError(temp, "Wicked Cold")
于 2013-11-12T00:27:13.487 回答
1

可以,而且会保存在args属性中

>>> try: 
...     raise RuntimeError('test', 5)
... except Exception as e:
...     print e.args
...
('test', 5)

对于您对创建自己的异常类型的限制,我会三思而后行;正确的异常类型非常重要。

于 2013-11-12T00:27:22.110 回答