如何在Python中引发异常?

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

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

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

另外一个可选参数traceback是用于异常的traceback对象。


#raise_error.py
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(e)


如果我们在终端执行以下脚本,如下所示

$python raise_error.pyEnter a positive integer: –6

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

This is not a positive number!!

备用示例代码

# Here there is no variable or argument passed with the raised exception
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>)