- 积分
- 3638
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 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!
|
|