我的程序中有这个代码:
open('myfile.txt',append, Stream,[alias(final)]),
some instructions
close(final).
如果我在close(final)
之前有错误,当我重建我的代码时,我有这个错误:
PERMISSION ERROR, CANNOT OPEN alias(final)
如何解决此问题?
答案 0 :(得分:2)
使用SWI-Prolog setup_call_cleanup/3
确保您的文件始终关闭,即使在打开文件和关闭文件之间发生错误也是如此。类似的东西:
setup_call_cleanup(
open('myfile.txt',append, Stream,[alias(final)]),
some_instructions
close(final)
)
有关更多信息,请参阅此谓词的SWI-Prolog文档。