zoukankan      html  css  js  c++  java
  • python中try except处理程序异常的三种常用方法

    如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序:

    1
    2
    3
    4
    5
    6
    7
    8
    try:
        语句1
        语句2
        .
        .
        语句N
    except .........:
        do something .......

    但是你并不知道"语句1至语句N"在执行会出什么样的异常,但你还要做异常处理,且想把出现的异常打印出来,并不停止程序的运行,所以在"except ......"这句应怎样来写呢?

    总结了一下3个方法

    方法一:捕获所有异常

    1
    2
    3
    4
    5
    try:  
        a=b  
        b=c  
    except Exception,e:  
        print Exception,":",e

    方法二:采用traceback模块查看异常

    1
    2
    3
    4
    5
    6
    7
    #引入python中的traceback模块,跟踪错误
    import traceback  
    try:  
        a=b  
        b=c  
    except:  
        traceback.print_exc()

    方法三:采用sys模块回溯最后的异常

    1
    2
    3
    4
    5
    6
    7
    8
    #引入sys模块
    import sys  
    try:  
        a=b  
        b=c  
    except:  
        info=sys.exc_info()  
        print info[0],":",info[1]

    但是,如果你还想把这些异常保存到一个日志文件中,来分析这些异常,那么请看下面的方法:

    把 traceback.print_exc() 打印在屏幕上的信息保存到一个文本文件中

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import traceback
    try:  
        a=b  
        b=c  
    except:  
        f=open("c:log.txt",'a')  
        traceback.print_exc(file=f)  
        f.flush()  
        f.close()
  • 相关阅读:
    VS2005 GridView操作大全(转载)
    架构与模式
    JS全选与取消
    C#查找指定文件夹下指定后缀名的所有文件
    select poll epoll Hello
    scanf() gets() fgets()使用注意事项 Hello
    gtk_init() Hello
    用C实现FFT算法 Hello
    时间相关函数 Hello
    gcc的编译属性和选项 Hello
  • 原文地址:https://www.cnblogs.com/paranoia/p/6182277.html
Copyright © 2011-2022 走看看