IT评测·应用市场-qidao123.com

标题: 16异常处理 [打印本页]

作者: 莱莱    时间: 2023-4-26 13:42
标题: 16异常处理
异常处理

异常


捕获异常

异常类型捕获
  1. # 捕获常规异常
  2. try:
  3.     可能发生错误的代码
  4. except:
  5.     如果出行异常执行的代码
  6. # 捕获指定异常
  7. try:
  8.     可能发生错误的代码
  9. except NameError as e:  # e = 当前异常对象
  10.     如果出行异常执行的代码
  11.    
  12. # 捕获多个异常
  13. try:
  14.     可能发生错误的代码
  15. except(NameError, ZeroDisvisionError):
  16.     如果出行异常执行的代码
  17.    
  18. # 捕获全部异常(捕获常规异常也可以)
  19. try:
  20.     可能发生错误的代码
  21. except Exception as e:  # e = 当前异常对象
  22.     如果出行异常执行的代码
复制代码
常见异常类型

异常名称描述AttributeError对象没有这个属性OSError操作系统错误ImportError导入模块/对象失败IndexError序列中没有此索引(index)KeyError没有这个键NameError未声明/初始化对象 (没有属性)SyntaxErrorPython 语法错误TypeError对类型无效的操作ValueError传入无效的参数Warning警告的基类try-except-else


  1. # else异常
  2. try:
  3.     print(1)
  4. except Exception as e:
  5.     print(e)
  6. else:
  7.     print("我是else,是没有异常的时候执行的代码")
复制代码
try-except-finally

不管程序有无发生异常,都将执行finally内部代码。
  1. # 异常的Finally(无论是否有异常,都要执行的代码)
  2. try:
  3.     f = open("test.txt",'r')
  4. except Exception as e:
  5.     f = open("test.txt",'w')
  6. else:
  7.     print("未出现异常")
  8. finally:
  9.     f.close()
复制代码
注意:else和Finally可写可不写
主动触发异常


[code]# 判断煎饼熟了没,当烹饪时间小于5时,则主动触发没熟异常;否则熟了。def test(level):    if level




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4