Python异常模块traceback用法举例
来源:互联网 发布:怎样淘宝上降价买东西 编辑:程序博客网 时间:2024/05/18 03:20
traceback模块被用来跟踪异常返回信息. 如下例所示:
1
2
3
4
5
import
traceback
try
:
raise
SyntaxError,
"traceback test"
except
:
traceback.print_exc()
将会在控制台输出类似结果:
1
2
3
4
Traceback (most recent call last):
File "H:\PythonWorkSpace\Test\src\TracebackTest.py", line 3, in <module>
raise SyntaxError, "traceback test"
SyntaxError: traceback test
类似在你没有捕获异常时候, 解释器所返回的结果.
你也可以传入一个文件, 把返回信息写到文件中去, 如下:
1
2
3
4
5
6
7
8
9
import
traceback
import
StringIO
try
:
raise
SyntaxError,
"traceback test"
except
:
fp
=
StringIO.StringIO()
#创建内存文件对象
traceback.print_exc(
file
=
fp)
message
=
fp.getvalue()
print
message
这样在控制台输出的结果和上面例子一样,traceback模块还提供了extract_tb函数来格式化跟踪返回信息, 得到包含错误信息的列表, 如下:
1
2
3
4
5
6
7
8
9
10
11
12
import
traceback
import
sys
def
tracebacktest():
raise
SyntaxError,
"traceback test"
try
:
tracebacktest()
except
:
info
=
sys.exc_info()
for
file
, lineno, function, text
in
traceback.extract_tb(info[
2
]):
print
file
,
"line:"
, lineno,
"in"
, function
print
text
print
"** %s: %s"
%
info[:
2
]
控制台输出结果如下:
1
2
3
4
5
H:\PythonWorkSpace\Test\src\TracebackTest.py line: 7 in <module>
tracebacktest()
H:\PythonWorkSpace\Test\src\TracebackTest.py line: 5 in tracebacktest
raise SyntaxError, "traceback test"
** <type 'exceptions.SyntaxError'>: traceback test
test1.py中,当分母为0的时候,调用系统退出。代码如下:
1
2
3
4
5
6
7
8
#!/usr/bin/python
import
sys
def
division(a
=
1
, b
=
1
):
if
b
=
=
0
:
print
'b eq 0'
sys.exit(
1
)
else
:
return
a
/
b
test2.py中,用try..except捕获异常,然后traceback.print_exc()打印。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/python
import
sys
import
traceback
import
test1
a
=
10
b
=
0
try
:
print
test1.division(a,b)
except
:
print
'invoking division failed.'
traceback.print_exc()
sys.exit(
1
)
执行test2.py失败抛出异常。
1
2
3
4
5
6
7
8
9
10
$python test2.py
execution python-2.5.1/python (enodeb/linux)
b eq 0
invoking division failed.
Traceback (most recent call last):
File "test2.py", line 10, in <module>
test1.division(a,b)
File "/home/fesu/test1.py", line 6, in division
sys.exit(1)
SystemExit: 1
0 0
- Python异常模块traceback用法举例
- Python异常模块traceback用法举例
- Python中的traceback模块
- python traceback 模块
- python中traceback模块
- Python中的traceback模块
- python的traceback用法
- Python标准库-traceback模块
- Python标准库-traceback模块
- 【转】Python中的traceback模块
- python中使用traceback来追踪异常
- PYTHON TRACEBACK
- Python traceback
- python日志记录完整的异常信息traceback stack
- 飘逸的python - 使用traceback获取详细的异常信息
- c中获取python的异常的traceback
- python TorMySQL 异常处理不显示traceback的坑
- python使用traceback获取详细的异常信息
- Java技术路线
- PDE3&4 Transport equation: derivation & general solution
- PDE5 method of characteristics
- HTML5混合框架
- ScrollView和WebView 嵌套,底部出现大块空白的问题
- Python异常模块traceback用法举例
- 【CodeForces】[630A]Again Twenty Five!
- Bzoj4403序列统计:Lucas初探,组合数学
- 2016-3-18
- 【CodeForces】[630C]Lucky Numbers
- 【杭电】[1003]Max Sum
- ZOJ3860-Find the Spy
- H5调用原生百度地图
- Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解