400-650-7353
您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】Python处理异常语句

【Python基础知识】Python处理异常语句

  • 发布: 优就业it培训
  • 来源:优就业
  • 2021-06-18 18:26:16
  • 阅读()
  • 分享
  • 手机端入口

1、try-except语句

在代码中出现的异常,除了可以看到解释器报错外,还可以捕获并处理它们。在Python中使用try-except语句处理异常,语法格式如下:

try:

代码块1

except 异常名称:

代码块2

try-except语句的工作流程如下:

①执行在try和except之间的代码块1,如果发生了异常,则会根据异常类型提交处理,这一过程为异常捕获。

②如果发生except 后指定的异常,那么跳过代码块1中剩余的代码,执行except语句下面的代码块2。成功处理指定异常的过程称为异常处理。

③如果没有发生指定的异常,那么执行完try和except之间的代码块1后,跳过except语句下面的代码块2,继续执行后面的代码。

下面是一个处理异常的示例,它让用户输入两个整数,并求出这两个整数相除的结果,由于用户输入的除数可能为零,除数为零就会发生异常(使用脚本模式运行):

  1. x = int(input('请输入被除数:')) 
  2. y = int(input('请输入除数:')) 
  3. try
  4.     result = x / y 
  5.     print('结果为{}'.format(result)) 
  6. except ZeroDivisionError: 
  7.     print('除数不能为零'
  8. print('=' * 30)   # 这一行用来确定程序运行到哪了 

输入几组数据,测试运行结果:

  1. 请输入被除数:10 
  2. 请输入除数:5 
  3. 结果为2.0 
  4. ============================== 
  5. 请输入被除数:10 
  6. 请输入除数:0 
  7. 除数不能为零 
  8. ============================== 

由此可知,如果程序发生了指定异常,并且成功将它捕获,那么Python解释器并不会报错,而是跳过try和except之间的代码块,执行except语句下面的的代码块。

2、else语句

在try-except语句块中,还可以包含else语句,其语法格式如下:

try:

代码块1

except:

代码块2

else:

代码块3

当未引发任何异常时,执行else代码块:

  1. try
  2.     x = int(input('请输入被除数:')) 
  3.     y = int(input('请输入除数:')) 
  4.     result = x / y 
  5. except (ZeroDivisionError, ValueError):  # 这里同时捕获两种异常 
  6.     print('除数不能为零, 且被除数与除数必须为数字'
  7. else
  8.     print('=' * 30
  9.     print('结果为{}'.format(result)) 

输入一组数据,运行结果:

  1. 请输入被除数:10 
  2. 请输入除数:5 
  3. ============================== 
  4. 结果为2.0 

3、finally语句

Python中的finally用来做后续的“清理工作”,其语法格式如下:

try:

代码块1

except :

代码块2

finally :

代码块3

如果存在finally语句,无论try-except代码块是否发生错误,finally代码块都将执行:

  1. try
  2.     x = int(input('请输入被除数:')) 
  3.     y = int(input('请输入除数:')) 
  4.     result = x / y 
  5. except (ZeroDivisionError, ValueError):  
  6.     print('除数不能为零, 且被除数与除数必须为数字')  
  7. else
  8.     print('结果为{}'.format(result)) 
  9. finally
  10.     print('再见!'

当发生异常时,else代码块并没有执行,但是finally代码块执行了:

  1. 请输入被除数:10 
  2. 请输入除数:0 
  3. 除数不能为零, 且被除数与除数必须为数字 
  4. 再见! 

当未发生异常时,else代码块执行了,finally代码块也执行了:

  1. 请输入被除数:10 
  2. 请输入除数:5 
  3. 结果为2.0 
  4. 再见! 

因此,当存在try-except-else-finally语句时,首先执行try-except代码块;如果没有异常,那么执行else代码块,否则不执行;而finally代码块无论怎样都会执行。

4、raise语句

raise语句用来抛出异常,可以自定义引发哪种错误以及向用户显示文本。抛出自定义异常时,可以在异常类型后加上括号,并在括号内写出要显示的文本。在下面的示例中,引发类型异常时,自定义的提示文本是“类型不对”:

  1. >>> raise TypeError('类型不对'
  2. Traceback (most recent call last): 
  3.   File "<stdin>", line 1in <module> 
  4. TypeError: 类型不对 

 

文章“【Python基础知识】Python处理异常语句”已帮助

更多内容

>>本文地址:https://www.ujiuye.com/zhuanye/2021/69065.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME