异常是在程序执行时发生的错误。 在运行程序时,Python如果发生一个异常,应将其处理以避免程序崩溃。 在Python语言中,异常会在错误时自动触发,或者可以由您的代码触发和拦截。
异常表示,尽管事件可以发生,但这种事件很少发生。 当该方法无法处理该异常时,它将发生给调用者函数。 最终,当主函数抛出异常时,程序将突然终止。
以下是Python异常处理的一些基本规则:
try语句包括关键字try,后跟冒号和可能会发生异常的一组代码。 它具有一个或多个子句。
在try语句执行期间,如果这个try块没有异常发生,try块相应的异常处理程序是不会执行的。
如果在try语句中发生任何异常,则t不会继续执行try块的其余代码,会转移执行相应的错误处理块。
try:
statement(s)
raise [exceptionName [(reason)]]
当没有异常发生时,执行else块的代码
当发生异常时,会终止执行try块,转移到 except块来执行
try:
raise ValueError("这里出错了")
except ValueError as e:
print("引发异常:",repr(e))
无论是否引发异常,finally块始终执行。 finally子句是可选的。 旨在定义在所有条件下均应执行的清除操作。
try:
print("这是在try中")
finally:
print 'welcome, world!'
输出
这是在try中
Welcome, world!
try:
a="mystr"
if(not a.isdigit()):
raise ValueError("这里出错")
except ValueError as e:
print("有异常发生")
else:
print("执行 else 块中的代码")
finally :
print 'welcome, world!'
输出
有异常发生
welcome, world!
try:
a=100
if(not a.isdigit()):
raise ValueError("这里出错")
print("try正常执行完毕")
except ValueError as e:
print("有异常发生")
else:
print("执行 else 块中的代码")
finally :
print 'welcome, world!'
输出
try正常执行完毕
执行 else 块中的代码
welcome, world!