基础知识
# bug 错别字 逻辑错误
# 异常 不可预见的
# 当程序遇到问题时,不让程序结束,而让程序越过错误,继续向下执行
# eg:print(3/0)
"""
except
英 [ɪkˈsept] 美 [ɪkˈsept]
prep.
(用于所言不包括的人或事物前)除…之外
conj.
除了;只是
v.
不包括;不计;把…除外
try ...excepet ...else
格式:
try:
语句1
except 错误码 as e:
语句2
except 错误码 as e:
语句3
except 错误码 as e:
语句n
else:
语句e
注意:else语句可以省略
作用:用来检测try语句块中的错误,从而让except语句来捕获错误信息并处理
逻辑:当程序执行到try-except-else语句时
1.当try模块执行出现错误,匹配第一个错误码,匹配成功执行对应except语句
2.若出现错误,没有匹配的错误码,执行else(嵌套情况比较少)
"""
第1种:
# 有错误类型
try:
print(a)
print(3 / 0)
except ZeroDivisionError as e:
print('除数为0!!!')
except NameError as e:
print('没有该变量')
else:
print('代码正确无误')
第2种:
# 有错误就越过!
try:
# print(x)
print(3 / 0)
except:
print('程序出错啦!!!')
第3种:
try:
print(y)
print(3/0)
except (NameError, ZeroDivisionError):
print('出现了NameError,ZeroDivisionError错误')