我是张晨,一转眼,我在新课已经学习了很长一段时间。回顾这几个月的时间,我收获了很多知识。这里是我的一点学习笔记。
一、了解异常
异常语法结构:
try:
可能发⽣错误的代码
except:
如果出现异常执⾏的代码
二、捕获异常
1.如何快速找到报错的代码部分
从下往上找 找到自己认识的文件 确认报错的代码
2.分析问题 为什么报错 因为什么报错?
在异常类型的提示信息里面 解决问题
翻译一下中文 如果还是无法解决进行百度
三、else异常
异常处理针对不稳定的数据 人为的输入数据 读取外部的数据或者文件
示例:
for i in range(3):
try:
data = input('请输入一个整数:')
print(50-int(data))
break # 当代码正常运行就跳出循环
except:
print('你输入的数据不符合规范')
else:
print('你所有的次数已经使用完')
输错三次数字会提示 您所有的次数已经使用完
外部的数据就是你不希望它传入的数据
找到可能会发生错误的部分
示例:
try:
f = open('data.txt', 'r+', encoding='utf-8')
data = f.read()
f.close()
except:
f = open('data.txt', 'w+', encoding='utf-8')
f.close()
data = '' # 让后面使用数据的代码可以正常运行
print(data)
except IndexError:????
except FileNotFoundError:捕获其他所有的错误
示例:
try:
f = open('data.txt', 'r+', encoding='utf-8')
data = f.read()
f.close()
except FileNotFoundError as e:
f = open('data.txt', 'w+', encoding='utf-8')
f.close()
data = '' # 让后面使用数据的代码可以正常运行
except Exception as e: # e 存放具体的错误类型数据
print(e)
# 针对性的问题解决 根据不同可能会发生的错误 制定补救措施
四、finally异常
示例:
try:
f = open('data.txt', 'r+', encoding='utf-8')
data = f.read()
f.close()
except:
f = open('data.txt', 'w+', encoding='utf-8')
f.close()
data = '' # 让后面使用数据的代码可以正常运行
finally: # 在任何情况下都会运行代码 通常用于文件的关闭
try:
f.close()
except:
pass
五、自定义异常
示例:
# 自己创建一个异常的类型
# TypeError
# ValueError
class LenError(Exception): # 创建一个错误类
__module__ = 'builtins' # 声明类为底层构建类 不会显示__main__.
# 功能 报错的显得好看
pass
def func(str_data):
if len(str_data) > 5:
print(str_data)
else:
raise LenError("'str_data' len < 5") # __main__.
func('str')
# 当用户使用函数 传入非法数据的时候 应该报错提醒
暂时先分享这么多吧,希望大家在学习过程当中都能有所收获,感谢新课,如果想获取更多资料或者联系加群,可以关注我们新课的微信公众号,后台自动回复获取代码笔记资料。