我如何在 Python 中手动抛出/引发异常?


我们使用最符合我们具体问题的最具体的异常构造函数,而不是引发通用的异常。要捕获我们特定的异常,我们必须捕获对其进行子类化的所有其他更具体的异常。

我们应该引发特定异常并处理相同的特定异常。

要引发特定异常,我们使用如下 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)

更新于: 2020 年 2 月 12 日

192 次浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.