• Python第十二节 异常


    Python 第十三节 异常

    python的错误一般包含两类: * 语法错误 : 语法错误一般就是, 当你写完程序提交的时候, 发现无法提交, 提示存在错误.例如: 英文逗号 错写成了 中文逗号 * 异常 : 在执行阶段, 因某种原因导致程序中断, 即为异常。例如: 除数为0, 在编译阶段会通过, 但是执行阶段会报错。

    一.异常和异常处理

    异常在执行中断后会以信息的形式打印在终端给与提示,以调用栈的形式显示具体信息
    我们写程序的过程中, 终归会有考虑不到或者出乎意料的地方, 对此, 为了保证程序遇到异常, 仍能继续执行下去, 则就要用到异常处理
    异常处理的逻辑如下:

    try:
        代码块1
    except 异常类别1:
        异常处理代码块1
    except 异常类别2:
        异常处理代码块2
    except: 异常处理代码块3
    else:
        代码块2
    

    具体过程如下:
    1.执行代码块1(代码块1是正常的程序逻辑, 即我们要实现的部分)
    2.如果并没有触发异常, 则执行完代码块1就结束, except部分忽略
    3.否则, 从代码块1触发异常的位置起,停止后续代码块1的执行。触发的异常会去匹配后面的异常分支(触发的异常会有一个名称, 比方说除数为0的异常叫做ZeroDivisionError), 进而去执行对应的分支内的异常处理逻辑。等执行完异常逻辑处理, 再转而继续执行代码块1剩下的部分。
    4.如果未找到对应的except分支, 那么异常会抛给上层的try对应的异常处理。
    5.如果完全无异常, 则会继续执行else分支(else分支可选, 其目的是将try内的代码块拆分得更细)

    举一个简单的例子:

    def FunTest(xx, yy):
        print(xx/yy)
    if __name__ == '__main__':
        aa = 10;
        bb = 0;
        try :
            FunTest(aa, bb)
        except Exception:
            print("异常, 为程序的能够不报错, 返回值 :", 0)
        else:
            print('如果看到这句话, 证明为触发异常')
    

    执行结果如下:

    还有try...finally...
    还有一部分用户自定义异常

  • 相关阅读:
    浅谈Java中的==和equals
    Android下基于线程池的网络访问基础框架
    浅谈Android View滑动冲突
    Android View事件分发源码分析
    浅谈Android View事件分发机制
    Android弹性滑动的三种实现方式
    浅谈Android View滑动和弹性滑动
    浅谈Android View的定位
    web Form 表单method="get" method="post" 区别
    get与post的区别
  • 原文地址:https://www.cnblogs.com/Sinkinghost/p/11722546.html
Copyright © 2020-2023  润新知