【发布时间】:2010-01-25 19:58:01
【问题描述】:
我无法让它正常工作(显然) - 我几乎在那里,我很清楚为什么它不工作 - 只是不知道如何让它工作。
这是假设尝试将文件读入内存,如果失败,它会转到代码块的“except”子句(那部分是“duh”)。错误文件打印:“main.DebugOutput instance at 0x04021EB8>”。我想要它做的是打印实际的错误。就像 FileIOError 或 TraceBackError 或该错误文件的任何内容。这只是开始阶段,我计划添加诸如日期戳之类的内容并将其附加,而不是写入/创建 - 我只需要将实际错误打印到文件中。建议?
import os, sys
try:
myPidFile = "Zeznadata.txt"
myOpenPID_File = open(myPidFile, "r") #Attempts to open the file
print "Sucessfully opened the file: \"" + myPidFile + "\"."
except:
print "This file, \"" + myPidFile + "\", does not exist. Please check the file name and try again. "
myFileErr = open("PIDErrorlog.txt", "w")
myStdError = str(sys.stderr)
myFileErr.write(myStdError)
myFileErr.close()
print "\nThis error was logged in the file (and stored in the directory): "
【问题讨论】:
-
python 中没有 TraceBackError 这样的东西(除非你定义它)。当出现错误时,会打印出堆栈跟踪。
-
日志记录是最好的方法,而且处理个别异常要好得多。
标签: python error-handling