ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 捕获异常

2021-07-16 01:03:59  阅读:186  来源: 互联网

标签:python 捕获 except try finally print 异常 代码


捕获异常与抛出异常

1 基本异常捕捉语句语法

  try:

    代码模块1

  except:

    代码模块2

  exemple:

1 def print_dict(dic):
2     i = 0
3     try:
4         len1 = len(dic)
5         while i<len1:
6             print(dic.popitem())
7             i+=1
8     except:
9         print("传值类型错误")
 print_dict({1:'a', 2:'b'})
print_dict([1, 2, 3])

to exect 

 

 

  

     知识点:

      • 执行try语句,代表捕捉异常机制开始
      • 执行代码块1若没有出错,忽略后续except关键字和代码块2,代码正常执行完毕
      • 若执行代码块1发生异常,则终止代码块1内剩余后续代码执行,转到except处
      • except关键字捕捉到异常信息,并执行代码块2(往往给出错误提示或做出错误后的问题处理),异常处理结束。

2 带finally子拒的异常处理

  try:

    代码模块1

  except:

    代码模块2

  finally:

    代码模块3

  说明:finally关键字后的代码模块3,实现代码模块1是否出错都会执行的代码功能

  exemple1:

1 try:
2     1/0
3 
4 except:
5     print("除数不能为0")
6 finally:
7     print("程序运行结束")

to exect 

 

  exemple2:

 

1 try:
2     print(1/2)
3 except:
4     print("除数不能为0")
5 finally:
6     print("程序执行结束")

to exect

 

 

  example3:

1 import sys
2 try:
3     1/0
4 except:
5     print("除数不能为0")
6     sys.exit()
7 finally:
8     print("程序执行结束")
9 print("我能执行吗")

to exect

 

  比较与分析:从示例1和示例2可以看出,无论整除是够出错(try中的代码块是否会出现异常),finally子句后的代码都会执行

        示例3演示了1/3出发异常后,执行except子句里的print和sys.exit(),exit()要求退出该程序,

        在程序退出前强制执行了finally子句的内容,然后再退出程序,没有执行最后一条print语句。

        示例3明确的体现了finally子句的强制性。

 

 抛出异常

1 i = "1"
2 if type(i) != int:
3     raise TypeError("类型错误")

 

 

 

  

 

 

   

标签:python,捕获,except,try,finally,print,异常,代码
来源: https://www.cnblogs.com/liveforlearn/p/15018274.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有