处理文件打开和文件关闭异常的正确方法
Proper way to handle file open and file close Exception
请看这个实现:
@staticmethod
def read_json_file__(file):
reports = []
try:
with open(file) as json_file:
data = json.load(json_file)
for d in data:
# Do my stuff...
try:
json_file.close()
except IOError as ex:
raise Exception(ex)
return reports
except FileNotFoundError as ex:
raise Exception('File \'{f}\' does not exist.'.format(f=ex.filename))
except Exception:
raise
我试图找到处理 Exceptions
的方法,所以我处理文件打开 Exception
(FileNotFoundError
) 和文件关闭 Exception
(IOError
)并添加 Generic Exception
并将其提升到调用方方法。
这是处理 Exception
的正确方法吗?
使用with open(file) as json_file
时不需要关闭,但如果使用json_file = open(file)
则需要关闭(使用json_file.close()
)。
请看这个实现:
@staticmethod
def read_json_file__(file):
reports = []
try:
with open(file) as json_file:
data = json.load(json_file)
for d in data:
# Do my stuff...
try:
json_file.close()
except IOError as ex:
raise Exception(ex)
return reports
except FileNotFoundError as ex:
raise Exception('File \'{f}\' does not exist.'.format(f=ex.filename))
except Exception:
raise
我试图找到处理 Exceptions
的方法,所以我处理文件打开 Exception
(FileNotFoundError
) 和文件关闭 Exception
(IOError
)并添加 Generic Exception
并将其提升到调用方方法。
这是处理 Exception
的正确方法吗?
使用with open(file) as json_file
时不需要关闭,但如果使用json_file = open(file)
则需要关闭(使用json_file.close()
)。