• python异常捕获


    python异常捕获

    1.常见异常

    1.SynataxError:语法错误
    
    2.NameError:试图访问的变量名不存在
    
    3.IndexError:索引错误,使用的所以你不存在,常为索引超出序列范围
    
    4.KeyError:使用了映射中不存在的关键字(键)时引发的关键字错误
    
    5.TypeError:类型错误,内建操作或是函数应于在错误类型的对象时会引发类型错误
    
    6.ValueError:值错误,传给对象的参数类型不正确,例如给int()函数传入了字符串数据类型
    
    7.AttributeError:属性错误,特性引用和赋值失败时会引发属性错误
    
    8.IOError:输入输出错误
    

    2.异常打印

    import sys
    import traceback
    
    try:
        1/0
    except Exception as e:
        # 访问异常的错误编号和详细信息
        print(e.args)
        print(str(e))
        print(repr(e))
        # 打印信息
        exc_type, exc_value, exc_traceback = sys.exc_info() 
        print('e.message:\t', exc_value)
        # 通过trace打印
        print 'traceback.print_exc():'; traceback.print_exc()
        print 'traceback.format_exc():\n%s' % traceback.format_exc()
    

    args:返回异常的错误编号和描述字符串;
    str(e):返回异常信息,但不包括异常信息的类型;
    repr(e):返回较全的异常信息,包括异常信息的类型。

    sys.exc_info() 方法可以获取正在处理的异常信息,即 except 子句正在处理的异常,其返回值为一个tuple类型的三元组(exc_type, exc_value, exc_traceback),其中,exc_type为获取到的异常类型;exc_value为该异常类型对象;exc_traceback为一个 traceback 对象,包含异常最初发生的调用栈信息。

    使用traceback.print_exc()打印异常信息到标准错误,或者使用traceback.format_exc()将同样的输出获取为字符串

    3.raise用法

    Python 允许我们在程序中手动设置异常,使用 raise 语句即可。

    raise [exceptionName [(reason)]]

    用 [] 括起来的为可选参数,其作用是指定抛出的异常名称,以及异常信息的相关描述。如果可选参数全部省略,则 raise 会把当前错误原样抛出;如果仅省略 (reason),则在抛出异常时,将不附带任何的异常描述信息。

    raise 语句有如下三种常用的用法:
    raise:单独一个 raise。该语句引发当前上下文中捕获的异常(比如在 except 块中),或默认引发 RuntimeError 异常。
    raise 异常类名称:raise 后带一个异常类名称,表示引发执行类型的异常。
    raise 异常类名称(描述信息):在引发指定类型的异常的同时,附带异常的描述信息。
    

    相关链接

    https://www.cnblogs.com/klchang/p/4635040.html

  • 相关阅读:
    Nginx的反向代理和负载均衡
    大数据开发——Hive笔记
    Mysql-索引分析查询性能
    数据库原理-事务隔离与多版本并发控制(MVCC)
    并发编程实战--知识图谱
    并发编程实战-线程池
    并发编程实战-保证线程安全方式
    Synchronized和ReentTrantLock二者区别
    并发编程实战-J.U.C核心包
    并发编程实战-ConcurrentHashMap源码解析
  • 原文地址:https://www.cnblogs.com/tomtellyou/p/15892976.html
Copyright © 2020-2023  润新知