【发布时间】:2013-09-25 00:34:29
【问题描述】:
我正在尝试从符合特定条件的文件夹中读取所有文件。一旦出现异常,我的程序就会崩溃。即使出现异常,我也试图继续,但它仍然停止执行。
这是我几秒钟后得到的。
error <type 'exceptions.IOError'>
这是我的代码
import os
path = 'Y:\\Files\\'
listing = os.listdir(path)
try:
for infile in listing:
if infile.startswith("ABC"):
fo = open(infile,"r")
for line in fo:
if line.startswith("REVIEW"):
print infile
fo.close()
except:
print "error "+str(IOError)
pass
【问题讨论】:
-
“即使出现异常,我也会尝试继续”- 除非您对如何继续程序有明确的计划,否则永远不要这样做。假设您在 except: 块之后的代码依赖于文件内容,那么在 IO 错误后继续是一个坏主意。让异常使程序崩溃,这样您就可以真正注意到并解决根本问题。
-
假设,我在脚本中有两个独立的任务。即使我在第一个任务中遇到异常,我也想继续监视第二个任务。在那种情况下,什么是理想的? def task_1(): # DO SOMETHING def task_2(): # DO SOMETHING ELSE try: task_1() except: #Print ERROR MSG try: task_2() except: #Print ERROR MSG
标签: python