zoukankan      html  css  js  c++  java
  • python 捕获异常顺序

    catch 异常的时候,有关的异常(若是抛出子类异常,则父类异常的except也算。反之不算)except的语句是按代码顺序执行,

    也就是说,当一个异常发生时,从若干except中若遇见异常类基类,父类,自身则按照代码顺序,执行最早遇见的那个except语句。

    异常类中变量调用顺序则是子类先从子类中找,找不到再往上层找,没有什么特别(下例会输出''hi'',而不是''boom'')。

    如:

    # -*- coding:utf-8 -*-
    
    
    class MyException(Exception):
        def __init__(self):
            self.mes = 'err'
            self.msg = 'boom'
    
        def __str__(self):
            return self.msg
    
    
    class LogoutError(MyException):
        def __init__(self):
            self.msg = 'hi'
            self.message = 'hello'
    
    
    try:
        raise LogoutError
    except Exception as e:
        print(e.msg)
    
    except LogoutError as e:
        print(e.msg, 1111111)

    会执行Excption中的语句。不会执行LogoutError语句。

    output:

    hi

  • 相关阅读:
    CentOS6.5配置网络
    php curl 总结
    laravel-5-doctrine-2 教程
    DOS 总结
    Centos如何通过yum安装php7
    sql with 写法
    php 汉字转拼音函数
    MYSQL 升序排序但值为0的排最后
    zookeeper基础知识
    初识redis
  • 原文地址:https://www.cnblogs.com/renxchen/p/10064857.html
Copyright © 2011-2022 走看看