• Python异常及处理方法总结


    一、错误与异常

    1.什么是错误

    (1)语法错误(大小写拼写错误、括号不匹配等…)=> 不能正常执行
    (2)逻辑错误(程序运行正常,只是最后结果不符合预期)

    2.什么是异常

    程序运行过程中,出现的意料之外的错误

    • 如:打开的文件不存在、被除数为0、操作的数据类型不对、存储错误,互联网请求错误…

    3.回溯信息

    当程序运行时,发生了未处理的异常,Python就将终止执行程序,并以堆栈回溯(Traceback,也 称向后追踪)的形式显示异常发生的上下文。

    • 回溯信息告诉我们应该去哪里寻找问题的根源,对解决问题非常有帮助。
    在这里插入图片描述

    二、常见异常

    常见异常类

    在这里插入图片描述

    三.异常处理

    1.异常处理

    在代码被解释执行的过程中可能会抛出异常。
    那么也就是说,可能会发生,可能不会发生。对于这么不可预测的异常状态如何处理?

    1:即使程序出错,也不想让程序终止
    2:如果出错了,需要特殊处理
    异常处理机制 try…except…

    2.简单的异常处理格式

    在这里插入图片描述

    3.执行顺序

    正常执行: try -> 执行代码 -> 结束
    遇到异常: try -> 遇到异常 -> 跳到excep -> 结束

    4.except分支可以有多个

    在这里插入图片描述

    5.执行顺序

    执行匹配到第一个except则退出

    如果父类异常在最前面,会吞噬所有子类异常(建议:先except子类,再except父类)
    如果except捕获的错误与触发的错误不一致,程序会捕获不到

    6.else子句:没有发生异常时执行

    在这里插入图片描述

    7.finally子句:不管异常有没有发生都执行

    在这里插入图片描述

    8.异常嵌套

    在这里插入图片描述

    9.异常处理注意事项与建议

    只执行最先匹配的一个except
    如果父类异常在最前面,会吞噬所有子类异常
    • 多except注意:

    只会匹配一个except
    要先写子类异常再写父类异常
    如果except捕获的错误与触发的错误不一致,程序会捕获不到

  • 相关阅读:
    CentOS7 安装 Mysql 服务
    git 第一次 push 遇到问题
    为什么PHP(CLI)同一个错误信息会打印两次?
    python密码输入模块getpass
    Linux安装JDK详细步骤
    嘿嘿嘿,开始自学mysql
    Bable实现由ES6转译为ES5
    AJAX
    模板层
    lshw查看系统硬件信息
  • 原文地址:https://www.cnblogs.com/lyck/p/15213754.html
Copyright © 2020-2023  润新知