zoukankan      html  css  js  c++  java
  • python-异常处理

    第一种写法

    try:

      #正常执行

    except (NameError,ValueError,...) as err:

      #处理逻辑

    finally:

      #一定会执行的语句,即使try包围的代码

    第二种写法

    try:

      #正常执行

    except NameError as err1:

      #处理逻辑

    except NameError as err2:

      #处理逻辑

    ......

    finally:

      #一定会执行的语句,即使try包围的代码

    第三种写法

    try:

      #正常执行

    except NameError as err1:

      #处理逻辑

    except NameError as err2:

      #处理逻辑

    ......

    except Exception as errN:   # Exception可以接受所有非系统异常,Exception是其他所有非系统异常的基类

      # 处理逻辑

    finally:

      #一定会执行的语句,即使try包围的代码

    第四种写法

    try:

      #正常执行

    except NameError as err1:

      #处理逻辑

    except NameError as err2:

      #处理逻辑

    ......

    except:   #可以接受所有异常,包括系统异常

      # 处理逻辑

    finally:

      #一定会执行的语句,即使try包围的代码

    抛出异常 语句:

      用户自定义异常 MyInputError

      
        class MyInputError(Exception):
            """Exception raised when there're errors in input"""
            def __init__(self, value): # 自定义异常类型的初始化
               self.value = value
            def __str__(self): # 自定义异常类型的string表达形式
                return ("{} is invalid input".format(repr(self.value)))
        
        try:
            raise MyInputError(1) # 抛出MyInputError这个异常
        except MyInputError as err:
            print('error: {}'.format(err))

    # 当一个异常被捕获处理之后,在except语句执行到最后时,该异常就会被清除(引用该异常的变量(就是except Except as err,这里的err)不能再被使用,否则会抛出‘NameError’异常

    "When an exception has been assigned using as target, it is cleared at the end of the except clause."

  • 相关阅读:
    Java多线程总结之线程安全队列Queue
    Java四种线程池
    Java多线程同步 synchronized 关键字的使用
    mysql存储过程语法及实例
    Mysql 中有关日期的函数(sql)
    mysql sql常用语句大全
    spring主要的作用?
    Java:描述反射机制的作用?举几个反射的应用?
    设计模式之六大原则(转载)
    Android之微信开放平台创建应用
  • 原文地址:https://www.cnblogs.com/wl413911/p/12977160.html
Copyright © 2011-2022 走看看