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()
  • 相关阅读:
    HDU 5338(ZZX and Permutations-用线段树贪心)
    编程之美-活动中心(三分)
    form的method用get导致中文乱码
    Tomcat: Could not clean server of obsolete files
    Eclipse打开javadoc框
    Java EE各种documentation
    web-project的/WEB-INF/lib
    在jsp里面不要瞎用<!-- -->注释
    [流水账]搜索与web-container版本匹配的jar包
    session的创建与销毁
  • 原文地址:https://www.cnblogs.com/jkred369/p/6654720.html
Copyright © 2011-2022 走看看