python基础-异常处理

我是张晨,一转眼,我在新课已经学习了很长一段时间。回顾这几个月的时间,我收获了很多知识。这里是我的一点学习笔记。
一、了解异常

异常语法结构:

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')
# 当用户使用函数 传入非法数据的时候 应该报错提醒

暂时先分享这么多吧,希望大家在学习过程当中都能有所收获,感谢新课,如果想获取更多资料或者联系加群,可以关注我们新课的微信公众号,后台自动回复获取代码笔记资料。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值