python编程中,常见的基本错误有:“语法错误”和“异常”
基本语法如:
(1)捕获所有异常语法
try:
<语句块>
except:
<语句块>
(2)捕获所有指定异常语法
try:
<语句块>
excetp 异常名1: #要处理的指定异常1
<语句块>
except 异常名2 #要处理的指定异常2
<语句块>
……
else:
<语句块> #未触发异常,则执行该语句
finally: #始终执行该语句,一般为了达到释放资源等目的
<语句块>
try……except……语句流程图
如果有多个错误参数测试,except 加指定”异常名参数”时:
(1)只能捕获指定“异常名”的引发的异常,并执行异常处理,程序不会断开退出
(2)未指定的“异常名参数”出现异常时,无法进行异常处理,程序会异常退出
def testtry(index,i):
a = ['abce','abc','ab']
try:
print(len(a[index])/i)
except ZeroDivisionError: #ZeroDivisionError,捕获除数为零的错误,如除数为零,执行except
print('error')
print('"列表范围"和"除数"均正常时:')
testtry(1,2)
print('\n')
print('只捕获"除数"异常(不捕获"列表范围")时:')
print('(1)除数异常,范围正常:')
testtry(2,0)
print('\n')
print('(2)除数正常,范围超过:')
print('因为只捕获除数为"0"异常(ZeroDivisionError是python内置异常处理),因此当出现"列表范围range异常",系统异常终止')
print('如只捕获其中一个"异常",另外一个参数出现异常,会导致程序异常退出')
testtry(4,1)