Python 异常抛出
通过使用raise语句,可以以多种方式抛出异常。raise语句的一般语法如下所示−
语法
raise [Exception [, args [, traceback]]]
在这里,Exception是异常类型(例如,NameError),而argument是异常参数的值。 参数是可选的;如果未提供,则异常参数为None。
最后一个参数traceback也是可选的(在实践中很少使用),如果存在,则是用于异常的traceback对象。
示例
异常可以是字符串、类或对象。 Python核心引发的大多数异常都是类,其中参数是类的实例。 定义新的异常非常容易,可以按照以下方式进行:
def functionName( level ):
if level <1:
raise Exception(level)
# The code below to this would not be executed
# if we raise the exception
return level
注意 − 为了捕获异常,”except”子句必须引用抛出的相同的异常,可以是类对象或简单字符串。例如,要捕获上述异常,我们必须按照以下方式编写except子句。
try:
Business Logic here...
except Exception as e:
Exception handling here using e.args...
else:
Rest of the code here...
下面的示例说明了如何引发异常:
def functionName( level ):
if level <1:
raise Exception(level)
# The code below to this would not be executed
# if we raise the exception
return level
try:
l=functionName(-10)
print ("level=",l)
except Exception as e:
print ("error in level argument",e.args[0])
这会产生以下 输出 −
error in level argument -10