如何在 Python 中手动抛出/引发异常?
pythonserver side programmingprogramming
我们使用最适合我们特定问题的、最具体的异常构造函数,而不是引发通用异常。为了捕获特定的异常,我们必须捕获所有其他更具体的异常,这些异常都是它的子类。
我们应该引发特定的异常并处理相同的特定异常。
要引发特定的异常,我们使用 raise 语句,如下所示。
示例
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)