python中的异常处理
来源:互联网 发布:我的网络语怎么说 编辑:程序博客网 时间:2024/05/22 10:49
我平常看错误只看最下面一行的‘错误’,这也只能调试比较低级且明显的错误。
python中所有的异常都是Exception的子类,看看python内建的exceptions:
方式一:捕获所有的异常:
''' 捕获异常的第一种方式,捕获所有的异常 ''' try: a = b b = c except Exception,data: print Exception,":",data
变量‘b’没有声明,看看输出
<type 'exceptions.Exception'> : name 'b' is not defined像我这种菜鸟经常做菜鸟级别的错误。
方式二: 导入traceback模块,来跟踪错误信息。
import traceback''' 捕获异常的第二种方式,使用traceback查看异常 '''try: a = b b = cexcept: print traceback.print_exc()先看看输出结果:
Traceback (most recent call last): File "E:\python\33.py", line 4, in <module> a = bNameError: name 'b' is not defined其中,traceback.print_exc()返回所有的异常,还有个traceback.format_exc()是返回字符串。
很明显,traceback跟踪了错误的信息所在的位置。
方式三:采用sys模块来捕获异常。
import sys''' 捕获异常的第三种方式,使用sys模块捕获异常 '''try: a = b b = cexcept: info = sys.exc_info() print info print info[0] print info[1]
查了一下,sys.exc_info()是获取当前的异常信息。
看看结果:
(<type 'exceptions.NameError'>, NameError("name 'b' is not defined",), <traceback object at 0x02139E68>)<type 'exceptions.NameError'>name 'b' is not defined
还有个sys.exc_clear()是清除当前的异常信息。
还可以自己触发异常,用raise.
try: raise ValueError#自己抛出一个异常except ValueError: print 'a error'输出:
a error
- Python中的异常处理
- python中的异常处理
- python中的异常处理
- python中的异常处理
- python 中的异常处理
- python中的异常处理
- Python中的异常处理
- python 中的异常处理
- python中的异常处理
- Python中的异常处理
- Python中的异常处理
- Python中的异常处理
- python中的异常类型处理
- Python中的异常如何处理?
- python中的异常处理+日志例子
- python中的异常处理和调试
- python中的错误和异常处理
- Python 3.6.1中的异常处理
- UNIX / Linux: Set your PATH Variable Using set or export Command
- 闲
- HTML协议详细讲解以及笔记
- android 打包签名时出现Conversion to Dalvik format failed with error 1
- 【Oracle】Oracle JDBC各个驱动版本
- python中的异常处理
- 狮子座流星雨
- 神经网络编程入门
- “黑暗面程序员”File封装对象例子
- 指定出现404,500时跳转的页面
- Windows Mobile SQL Ce与SQL Server 的RDA
- mybatis3 Java API
- 我发现一天八小时工作坐的脖子疼
- jQuery 常用框架 插件