使用异常对象来管理程序执行期间发生的错误。
异常是try-except代码块处理的。
1.前言
- 找到所需的异常
print(5/0)
- 异常语法解释:
将容易出错的代码放在try语句中运行,
如果没有报错:直接跳过except语句下的内容,运行其他剩余代码。
如果报错:将挨个查找except后面对应的错误类型,1.找到对应的错误,执行该错误下的代码块。运行剩余代码块。2.找不到对应的错误,报错,不运行剩余代码块。 - 例子:
try:
print(5/0)
except ZeroDivisionError:
print("除数不能为0")
2.else代码块:
使用else代码块的作用是只有当语句不报错的时候,才会执行print语句。
如果不使用else语句,print语句在不管报错或不报错都会执行。
try:
要测试的语句
except 异常类型:
引发异常后的操作
else:
没引发异常时的操作
eg:
1.除数不能为零异常
try:
result = 6/2
except ZeroDivisionError:
print("除数不能为o")
else:
print(result) #不引发异常时时,才执行。
print("程序执行完毕!") #不管是否引发异常都会执行。
2.文件找不到异常
try:
with open('file.txt') as f:
content = f.read()
except FileNotFoundError:
print("文件找不到")
else:
print("问价内容是:"+content)
3.例子:分析文本
def count_words(filename):
"""计算一个文件大致包含多少个单词"""
try:
with open(filename) as f:
contents = f.read()
except FileNotFoundError:
msg="sorry,the file"+filename+"does not exist."
print(msg)
else:
#计算文件大致包含多少个单词
words = contents.split() #以空格分割文本,生成列表。
numbers = len(words)
print("the file "+filename+"has about"+str(numbers)+"words.")
filenames = ['a1.txt','a2.txt','a3.txt','a4.txt'] #其中有的文件不存在,也不影响程序。
for filename in filenames:
count_words(filename)
4.pass语句
pass语句表示什么都不做,还可以充当占位符。
a = 2
if a == 2:
print("a是2")
else:
pass
print("it is over!")
来源:CSDN
作者:未知的探索者
链接:https://blog.csdn.net/weixin_41272269/article/details/104534054