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 中的按值传递
    字符串排序(非字典排序)
    字符串匹配的KMP算法(转)
    效率更高的整数转化为字符串函数
    Trie 树(转)
    C 语言字符串(译)
    linux 下 epoll 编程
    CSS攻击:记录用户密码
    Wireshark(抓包神器)使用方法
    搭建KVM环境——Linux上安装KVM带web管理界面
  • 原文地址:https://www.cnblogs.com/wl413911/p/12977160.html
Copyright © 2011-2022 走看看