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

    Python异常处理

    常见异常

    AttributeError:属性错误,特性引用和赋值失败时会引发属性错误
    NameError:试图访问的变量名不存在
    SyntaxError:语法错误,代码形式错误
    Exception:所有异常的基类,因为所有python异常类都是基类Exception的其中一员,异常都是从基类Exception继承的,并且都在exceptions模块中定义。
    IOError:一般常见于打开不存在文件时会引发IOError错误,也可以解理为输出输入错误
    KeyError:使用了映射中不存在的关键字(键)时引发的关键字错误
    IndexError:索引错误,使用的索引不存在,常索引超出序列范围,什么是索引
    TypeError:类型错误,内建操作或是函数应于在了错误类型的对象时会引发类型错误
    ZeroDivisonError:除数为0,在用除法操作时,第二个参数为0时引发了该错误
    ValueError:值错误,传给对象的参数类型不正确,像是给int()函数传入了字符串数据类型的参数。

    异常处理结构

    try:
        # 主代码块
        pass
    except KeyError as e:
        # key异常时,执行该模块
        pass
    except Exception as e:
        #捕获其他未知错误
        pass
    else:
        # 主代码块执行完,执行该块
        pass
    finally:
        # 无论异常与否,最终执行该块
        pass
    

    异常处理实例

    dic = {'k1':'v1'}
    try:
        dic['k20']
    except KeyError as e:
        print(e)
    

    万能异常:Exception可以捕获任意异常

    s1 = 'hello'
    try:
        int(s1)
    except Exception as e:
        print(e)
    

    自定义异常

    class yukyException(Exception):
        def __init__(self,message):
            self.message = message
        def __str__(self): 
            return self.message
    
    try:
        raise yukyException("my exception") #主动触发异常
    except yukyException as e:
        print(e)
    
  • 相关阅读:
    Linux下常用的3种软件安装方式
    解决navicate 连接mysql数据库中文乱码的问题
    Lua 遍历Linux目录下的文件夹
    ubuntu 更改源
    ubuntu 下安装配置LAMP
    简述configure、pkg-config、pkg_config_path三者的关系
    linux 下库的深入调研
    Linux下的库操作工具-nm、ar、ldd、ldconfig和ld.so
    linux命令strings
    c++隐式类型转换和explicit
  • 原文地址:https://www.cnblogs.com/yuky/p/9493756.html
Copyright © 2011-2022 走看看