| 
 
	积分3625贡献 精华在线时间 小时注册时间2014-10-21最后登录1970-1-1 
 | 
 
 
 楼主|
发表于 2019-8-17 15:18:12
|
显示全部楼层 
| 第二篇:异常捕获语句---try...except 
 ------------------------------------------------
 释义:
 try后的语句是需要测试错误的语句,一旦发现错误,就会执行except后的语句
 之后,程序会继续执行
 try中的语句发生错误后,会直接跳到except语句,try的其余语句不再执行
 可以设置多个except捕获多种错误
 ------------------------------------------------
 我的疑惑:异常总是出乎意料的,能未卜先知的bug早被修好了
 ------------------------------------------------
 案例:
 
 def f(x,y):
 return x/y
 try:
 a=6
 b=3
 print(f(a,b))
 import one_wrong_package
 #as将错误名指代为error1、error2
 except ZeroDivisionError as error1:
 print('错误:除数为0!\n',error1)
 except ImportError as error2:
 print('导入包错误!\n',error2)
 print('已执行后续语句!')
 
 结果:
 2.0
 导入包错误!
 No module named 'one_wrong_package'
 已执行后续语句!
 
 ------------------------------------------------
 多个except也可以用括号括起来:
 def f(x,y):
 return x/y
 try:
 a=6
 b=3
 print(f(a,b))
 import one_wrong_package
 #as将错误名指代为error1
 except (ZeroDivisionError,ImportError) as error:
 print('错误:除数为0或导入包出错!\n',error)
 print('已执行后续语句!')
 
 ------------------------------------------------
 也可以不指定异常名称,即except后直接是冒号,这样会捕获全部异常
 def f(x,y):
 return x/y
 try:
 a=6
 b=3
 print(f(a,b))
 a=6
 b=0
 print(f(a,b))
 #as将错误名指代为error1
 except:
 print('错误:除数为0!')
 
 结果:
 2.0
 错误:除数为0!
 
 
 | 
 |