我的程序使用python写入文件。一切顺利,除非我已经运行文件并保持文件打开,抛出IOError:[Errno 13]权限被拒绝:'pathname'。
我想知道退出该程序的最佳方法,并启动一个消息框向用户解释该问题,指示关闭以前的文件以进行覆盖。
def myFunction(self):
with open(self.pathString, 'wb') as ofile:
writer = csv.writer(ofile, quoting=csv.QUOTE_NONE, delimiter='\t')
...
if IOError:
QMessageBox.information(None, 'Information', 'A message')
return
答案 0 :(得分:1)
很容易:
try:
result = do_here_what_can_cause_IOError
except IOError as e:
log.error('Error when trying to perform do_here_what_can_cause_IOError: %s', e)
else:
use_the_result_here
总之,要捕获Python抛出的任何异常,请使用try / except / else / finally
文档here