所以我遇到异常处理问题,我正在运行Python 3.6.3。 这是我的代码:
txt = ""
txtFile = input("gimme a file.")
f = open(txtFile, "r")
try:
for line in f:
cleanedLine = line.strip()
txt += cleanedLine
except FileNotFoundError:
print("!")
因此,如果我尝试输入错误的错误
而不是打印!
我仍然得到错误:
Traceback (most recent call last):
File "cleaner.py", line 11, in <module>
f = open(txtFile, "r")
FileNotFoundError: [Errno 2] No such file or directory: 'nonexistentfile'
我尝试过更换OSError
,我也尝试了except:
,它告诉我我做错了(因为我不应该首先这样做)因为我理解except:
应该捕获所有例外。
答案 0 :(得分:1)
很简单,你在异常之外开了一些东西。
txt = []
txtFile = input("gimme a file.")
try:
f = open(txtFile, "r")
for line in f.read().split('\n'):
cleanedLine = line.strip()
txt.append(cleanedLine)
except FileNotFoundError:
print("!")
答案 1 :(得分:0)
你的try catch是通过行封装循环。
当您尝试在try块之外打开文件时发生错误。