Python使用try except处理程序异常的三种常用方法分析

作者:刁刁111 时间:2021-12-25 22:51:24 

本文实例讲述了Python使用try except处理程序异常的三种常用方法。分享给大家供大家参考,具体如下:

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


try:
 语句1
 语句2
 .
 .
 语句N
except .........:
 do something .......

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

总结了一下3个方法:

方法一:捕获所有异常


try:
 a=b
 b=c
except Exception,e:
 print Exception,":",e

测试结果:

<type 'exceptions.Exception'> : name 'b' is not defined

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


#引入python中的traceback模块,跟踪错误
import traceback
try:
 a=b
 b=c
except:
 traceback.print_exc()

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


#引入sys模块
import sys
try:
 a=b
 b=c
except:
 info=sys.exc_info()
 print info[0],":",info[1]

运行结果:

<type 'exceptions.NameError'> : name 'b' is not defined

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

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


import traceback
try:
 a=b
 b=c
except:
 f=open("c:\log.txt",'a')
 traceback.print_exc(file=f)
 f.flush()
 f.close()

此时C盘根目录下生成一个log.txt文件,内容如下:

Traceback (most recent call last):
  File "C:\py\jb51PyDemo\src\Demo\test.py", line 3, in <module>
    a=b
NameError: name 'b' is not defined

更多Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python字符串操作技巧汇总》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

来源:https://blog.csdn.net/u014717398/article/details/63252886

标签:Python,try,except,异常
0
投稿

猜你喜欢

  • asp如何对一个文件夹进行创建和删除?

    2009-11-20 18:42:00
  • Dreamweaver打造多彩文字链接

    2007-11-11 18:59:00
  • 通过XSL转换XML文件步骤

    2008-01-27 16:03:00
  • GoFrame框架gcache的缓存控制淘汰策略实践示例

    2023-07-22 06:41:19
  • 解释FCKeditor样式的工作原理

    2007-10-11 13:34:00
  • ASP程序中调用函数Now()显示上午下午的问题

    2009-08-27 13:09:00
  • python各种语言间时间的转化实现代码

    2022-06-27 14:54:28
  • 使用apiDoc实现python接口文档编写

    2023-10-23 21:28:40
  • 用Python删除本地目录下某一时间点之前创建的所有文件的实例

    2021-07-29 05:34:59
  • oracle 字符串转成行

    2009-06-19 17:38:00
  • CentOS 6/7环境下通过yum安装php7的方法

    2023-11-23 11:08:02
  • Oracle捕获问题SQL解决CPU过渡消耗

    2010-07-21 13:14:00
  • python 第三方库的安装及pip的使用详解

    2023-12-27 07:06:53
  • Django使用Mysql数据库已经存在的数据表方法

    2023-07-21 15:24:59
  • 使用python语言,比较两个字符串是否相同的实例

    2023-08-24 15:01:14
  • PHP版微信小店接口开发实例

    2023-11-10 11:56:06
  • 通过优化CSS代码 减小对系统资源的占用

    2010-08-03 12:33:00
  • 最近写的一个asp缓存函数

    2008-11-25 14:07:00
  • Python运行不显示DOS窗口的解决方法

    2021-01-18 08:06:16
  • JavaScript的兼容性与调试技巧

    2023-07-14 07:56:28
  • asp之家 网络编程 m.aspxhome.com