【发布时间】:2014-02-14 21:34:01
【问题描述】:
在这个例子中,我想在try block 中将write 控制台(std.out);
但是当except block抛出异常时,我想将异常内容写入std.err,然后将其重定向到日志file。
我可以在except 块中打开一个file,然后在上面打开write。但这需要为每个 try-catch 块完成,因此如果有 re-directing 的替代方案,这些异常将出现在 std.err 并记录 std.error。
>>> try:
... print "hello world"
... 1/0
... except ZeroDivisionError as e:
... print "exception"
...
hello world
exception
【问题讨论】:
-
我没有投票,但我无法确定问题的正面或反面(当您向标准输出写入内容时,会导致其他一些输出被重定向到标准错误???)跨度>
-
@NPE:我正在重新格式化问题。
-
@LegoStormtroopr:我知道这个
print>> sys.stderr, 'spam'。但我想知道是否可以将所有 sys.stderr 重定向到一个文件,而不是默认为控制台。
标签: python exception try-catch stderr