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)
    
  • 相关阅读:
    hdu4725 The Shortest Path in Nya Graph
    poj2679 Adventurous Driving 最短路
    线段树完全版【代码集合
    LCS!LCS!
    bzoj2763: [JLOI2011]飞行路线
    bzoj3389: [Usaco2004 Dec]Cleaning Shifts安排值班
    [ 浙江大学 数据库系统原理 ] [ MiniSQL ]课程设计
    [ 浙江大学 程序设计专题 ] 四个专题代码 报告 PPT共享
    [ C语言 ] 迷宫 迷宫生成器 [ 递归与搜索 ]
    [ C语言版 ] 数独计算器 [ 搜索剪枝法 ]
  • 原文地址:https://www.cnblogs.com/yuky/p/9493756.html
Copyright © 2011-2022 走看看