向Python Exceptions添加其他信息

时间:2013-11-12 00:19:08

标签: python exception

Python noob问题对谷歌来说并不容易。来自C ++我仍然会想到可以在Python中完成的工作。

我想在Python中引发一个异常,并在异常中添加一个数字和字符串值。例外必须是标准Python异常,而不是自定义异常。我打算使用RuntimeError。

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

(编辑:为什么我不使用自定义异常?我试过了!见Python: Referring to an Exception Class Created with PyErr_NewException in an Extension Module

2 个答案:

答案 0 :(得分:1)

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

if temp < 0:
    raise RuntimeError(temp, "Wicked Cold")

答案 1 :(得分:1)

您可以,它将存储在args属性

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

我会考虑你对创建自己的异常类型的限制;适当的异常类型非常重要。