作者sbrhsieh (sbr)
看板Python
标题Re: [问题] Python exception log
时间Fri Dec 19 14:59:48 2008
※ 引述《Lucemia (生の直感、死の予感)》之铭言:
: 请教一个有关python 例外处理的问题
: def foobar():
: 1 / 0
: def logger():
: try:
: foobar()
: except Excepton, e:
: print "foobar error"
: raise e
: logger()
: 我希望在不影响原本exception 机制的情况下
: 透过中间的logger 将 function 中碰到的exception 纪录下来
把 exception 再丢出是使用 raise statement 不接任何 expression。
def logger():
try:
foobar()
except Exception, e:
print e
raise
或者是透过 sys.exc_info function 来取得运行 sys.exc_info function 的 thread
中正在处理的 exception type, exception value, traceback。使用 raise statement
时可以自行提供 traceback。
def logger():
try:
foobar()
except:
etype, evalue, tb = sys.exc_info()
print evalue
raise etype, evalue, tb
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.133.251
※ 编辑: sbrhsieh 来自: 218.173.133.251 (12/19 15:03)
※ 编辑: sbrhsieh 来自: 218.173.133.251 (12/19 15:13)
1F:推 Lucemia:感谢 !! 12/19 15:41