异常-----用来管理程序执行期间发生的错误

python标准异常与标准警告总结 略

处理异常的方法语句:
1)try:
检测范围
except Exception [as reason]:
出现并截住异常后执行的代码
eg.
task3学习笔记
task3学习笔记

☆☆☆1个try语句包含多个except子句,分别用于处理不同的异常,但只有一个分支被执行
task3学习笔记
task3学习笔记
task3学习笔记
task3学习笔记task3学习笔记
task3学习笔记
这三个相似的例子说明try语句中能导致不同异常的语句的先后排序极为重要,哪个异常最先被截住,就执行哪个except子句;但是,except子句的先后顺序不影响第一个异常对应的except子句的执行。例子就不在这提了。

☆☆☆一个except语句处理多个异常,可将这些异常放在一个元组中。
task3学习笔记
task3学习笔记
第一次看可能不知道这个原因是什么意思,其实这是TypeError的表达。
task3学习笔记
task3学习笔记
ValueError
task3学习笔记
task3学习笔记
OSError

这三个例子可以用来熟悉一下将异常放在元组中的语法知识,更重要的是为了说明同上一个重点一样的道理:
“try语句中能导致不同异常的语句的先后排序极为重要,哪个异常最先被截住,就执行哪个except子句;但是,except子句的先后顺序不影响第一个异常对应的except子句的执行。”
2)<1>try:
检测范围
except:
出现异常执行的代码块
else:
无异常时执行的代码块
<2>try:
检测范围
except(Exception1[,Exce2[,…ExceN]]]):
出现异常执行的代码块
else:
无异常时执行的代码块
与之相似的一个try语句是:
try:
检测范围
except Exception [as reason]:
出现异常执行的代码块
finally:
有无异常都会执行的代码块
这里重点列举他们的区别和各自要注意的重点:
nb1. try-except-else中的except不可以省略,否则会引起语法错误;
但是,try-except-finally中的except可以省略。
task3学习笔记
task3学习笔记
task3学习笔记

task3学习笔记nb2. 只有try语句中的代码无异常,else中的代码才会执行;
不管try语句中的代码有无异常,finally中的语句都会执行。
nb3. try语句中的异常一旦没有没except截住,那么finally语句执行完后就会被推出。
task3学习笔记
task3学习笔记
3)raise()语句
抛出一个指定的异常,一旦执行了raise后的语句,后面的语句就不执行了。
通俗来讲,就是”没事找事“,明明没有异常,自己定义一个异常。
语句结构是:raise[Exception[,args[,traceback]]]
args–异常参数
traceback–跟踪异常对象

task3学习笔记
task3学习笔记
4)为什么要处理异常:
虽然处理异常和不处理异常都不会使程序成功运行,但是如果不处理异常,当你运行错误时,就会把文件名,储存地址等一些别人没必要知道的信息通过traceback暴露给别人,一旦遇见心怀不轨有训练有素的攻击者,他可能会向你的代码发起攻击,使自己很被动。
因此,处理异常说不上利人,最起码利己。(●’◡’●)

练习题:猜字游戏
from random import randint
x=randint(0,100)
print(“猜测一个0到100之间的整数。”)
t=1
active=True
while active:
print(“第”+str(t),end=’’)
m=input("次猜,请输入一个整型数字: ")
if int(m)==x:
print(“恭喜你猜到了这个数是”+m)
active=False
elif int(m)>x:
print(“太大”)
t+=1
else:
print(“太小”)
t+=1

task3学习笔记
task3学习笔记

相关文章:

  • 2021-05-24
  • 2021-05-03
  • 2021-11-09
  • 2021-06-27
  • 2022-01-25
  • 2021-12-22
  • 2021-09-23
  • 2022-01-02
猜你喜欢
  • 2021-11-05
  • 2021-04-20
  • 2021-10-31
  • 2021-08-17
  • 2021-07-21
  • 2021-06-10
  • 2021-07-03
相关资源
相似解决方案