(python)为什么sys.exc_info取不出值?

zq1956 2007-03-22 10:50:51
程序中调用
log_file = open('test.log', 'a')
etype = sys.exc_info()[0]
evalue = sys.exc_info()[1]
etb = traceback.extract_tb(sys.exc_info()[2])
log_file.write('Error in routine: your routine here\n')
log_file.write('Error Type: ' + str(etype) + '\n')
log_file.write('Error Value: ' + str(evalue) + '\n')
log_file.write('Traceback: ' + str(etb) + '\n')
log_file.close()
sys.exit()
来处理异常。
运行后,程序退出,但是对应的test.log中对应的etype,evalue,etb都是空的。问问这是为什么?
...全文
352 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_g_hu 2007-03-26
  • 打赏
  • 举报
回复
同上

ChumpKlutz 2007-03-22
  • 打赏
  • 举报
回复
程序中未有异常,当然不会有值了,一般处理异常都用
try
...
except:
...

try
...
final:
...
iambic 2007-03-22
  • 打赏
  • 举报
回复
确定出现异常时,你的异常处理代码确实执行了。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧