【python基础学习11课_异常机制】

本文详细介绍了Python中的异常处理机制,包括try-except-finally结构、异常的捕获与处理、assert用于断言预期结果、以及with语句的自动资源管理。重点强调了异常处理在保证程序连续性中的重要性。
摘要由CSDN通过智能技术生成

一、异常

1、异常的定义

异常:程序无法继续执行

异常会中断程序执行

异常处理,是为了不中断程序执行。而不是避免错误。有些代码是报错就是要暴露出来


有了异常机制,错误的代码报错后抛出异常,代码从上到下,报错代码后面的正确的代码还是都要执行的
没有异常机制的话,错误的代码报错后,程序终止,不再继续执行。
当然,如果try和ecpet里面代码块,都有错误,那么程序一定会报错


语法规则:
try:
    常规的代码块(可能存在着异常问题)
ecpet:
    补救措施的代码块,也可以忽略不计,直接使用pass占位符

二、 异常的处理

1、try和except

1)try和except只能二选一执行,不会都执行。


try正确,不走except。try错误,走except。

2)对异常进行处理,或者忽略

pass表示占位符,忽略pass异常

如果try和except都报错。程序还是会报错

3) 捕获异常--except Exception as e
语法规则:
try
   ...
except Exception as e
   ...

4)try和except嵌套

2、 try和finally

语法规则:
try:
    代码块
except:
    代码块
finally:   # 无论异常是否会发生,finally的代码块一定会执行
    代码块
"""


三条路:try和except二选其一,或者都走不通,但是finally不管怎样,都会执行


1.try和except同时存在问题的时候,会同时反馈报错信息
2.try、except和finally都存在问题的时候,也会同时反馈报错信息
3.try和except同时存在问题,但是finally不存在问题,会运行finally的代码,然后会抛出另外两个异常信息
1)无论报错(异常)是否会发生,finally的代码块一定会执行

有异常,有报错

有异常,没有报错

 2)try和except只能二选一执行,不会都执行。但是finally一定会执行

 3、assert异常

断言: 提前准备好 预期结果 和 实际结果 进行比较,获取这个对比的结果,

只有2种结果:True False

assert 是一个关键字

语法规则:

assert 预期结果 比对符号 实际结果, "报错的返回信息"

正常的结果 -- 比如: print("用例测试通过")


自动化的用例,通过的标准:当你的用例的代码全部成功执行结束,pass,只要被中断/报错,就为fail
1)assert 预期 =实际

 2)assert 预期 /=实际,报错

但是只给报了一个AssertionError,没有具体的报错信息

 3) assert 预期 /=实际,自定义异常

通过变量获取报错详情,报的错误信息需要自己去设计(要用英文,不要写中文,显得low)

AssertionError: 自己设计的报错信息。

 4、with...as...

语法规则:

with 代码 as 变量

用于文件读取,with代码块执行结束之后,会自动关闭文件


as主要是把很长的文件、代码,精简成一个变量,方便操作和简洁
1)普通文件只能手动关闭,不能自动关闭

2) with执行完内部代码块,会自动关闭文件

with里面的代码可以执行,但是with执行完就会自动关闭文件,外面就不能读取了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值