使用Python'与open()'要写日志,如何将异常写入日志?

时间:2015-03-31 14:09:17

标签: python exception-handling with-statement

我正在为在命令窗口中运行的python脚本设置一个日志文件,以便记录脚本中的所有输入和输出。我正在使用:

with open("file.txt") as file:

这样如果发生异常,它仍会保存它所写的所有文本。

但是我想知道是否有办法让它记录异常?基本上写一条最后一条消息,然后关闭文件作为退出函数?

open()本身似乎只有一些文档。但我不确定这是否意味着它的使用是否有限。

1 个答案:

答案 0 :(得分:2)

为什么不明确捕获异常并重新抛出它:

with open("file.txt") as file:
    try:
        <do_something>
    except Exception as e:
        file.write(e)
        raise

如果通过尝试写入文件来生成异常,则会遇到挑战。