在Python中引发异常

您可以使用raise语句以多种方式引发异常。引发语句的一般语法如下。

语法

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

在此,Exception是异常的类型(例如NameError),而arguments是异常参数的值。该参数是可选的;如果未提供,则异常参数为None。

最后一个参数traceback也是可选的(在实践中很少使用),如果存在,则是用于异常的traceback对象。

示例

异常可以是字符串,类或对象。Python核心引发的大多数异常都是类,带有作为该类实例的参数。定义新异常非常容易,可以按照以下步骤进行:

def functionName( level ):
   if level < 1:
      raise "无效的等级!", level
      # The code below to this would not be executed
      # if we raise the exception

–为了捕获异常,“ except”子句必须引用类对象或简单字符串抛出的同一异常。例如,要捕获上述异常,我们必须编写except子句,如下所示:

try:
   Business Logic here...
except "无效的等级!":
   Exception handling here...
else:
   Rest of the code here...