Python 异常处理

python中用try来处理程序异常的集中常用方法

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

  1. try:   
  2.     语句1   
  3.     语句2   
  4.     .   
  5.     语句N   
  6. except .........:   
  7.     print .......  

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

总结了一下至少3个方法:

方法一:捕获所有异常

 

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

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

 

  1. import traceback   
  2. try:   
  3.     a=b   
  4.     b=c   
  5. except:   
  6.     traceback.print_exc()  

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

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

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

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

    1. try:     
    2.     a=b     
    3.     b=c     
    4. except:     
    5.     f=open("c:log.txt",'a')     
    6.     traceback.print_exc(ffile=f)     
    7.     f.flush()     
    8.     f.close() 
posted @ 2014-12-22 10:31  inspirationhyl  阅读(142)  评论(0编辑  收藏  举报