如何在Python中手动抛出/引发异常?
我们使用最精确的异常构造函数,以解决特定问题,而不是引发通用异常。为了捕获特定的异常,我们必须捕获所有其他更特定的子类异常。
我们应该引发具体的异常并处理同样具体的异常。
为了引发具体的异常,我们使用以下raise语句。
更多Python相关文章,请阅读:Python 教程
示例
import sys
try:
f = float('Tutorialspoint')
print f
raise ValueError
except Exception as err:
print sys.exc_info()
输出
我们获得以下输出
(<type 'exceptions.ValueError'>, ValueError('could not convert string to float: Tutorialspoint',), <traceback object at 0x0000000002E33748>)
我们甚至可以像以下示例一样使用参数引发错误。
示例
try:
raise ValueError('foo', 23)
except ValueError, e:
print e.args
输出
我们获得以下输出
('foo', 23)