如何在 Python 中引发异常?

pythonserver side programmingprogramming

我们可以使用 raise 关键字强制引发异常。以下是调用 raise 方法的语法。

raise [Exception [, args [, traceback]]]

其中,Exception 是异常的名称;可选的"args"表示异常参数的值。

同样可选的参数 traceback 是用于异常的回溯对象。

#raise_error.py
try:
i = int ( input ( "输入一个正整数值: " ) )
if i <= 0:
raise ValueError ( "这不是一个正数!!" )
except ValueError as e:
print(e)

如果我们在终端执行上述脚本如下

$python raise_error.py
输入一个正整数值:–6

由于我们输入了一个负数,因此显示以下内容:

这不是一个正数!!

替代示例代码

# 这里没有随引发的异常传递的变量或参数
import sys
try:
i = int ( input("Enter a positive integer value: "))
if i <= 0:
raise ValueError#("This is not a positive number!!")
except ValueError as e:
print sys.exc_info()

输出

Enter a positive integer value: -9
(<type 'exceptions.ValueError'>, ValueError(), <traceback object at
 0x0000000003584EC8>)

相关文章


有用资源