2

我的程序中有这段代码:

open('myfile.txt',append, Stream,[alias(final)]),
some instructions
close(final).

如果我之前有一个错误close(final),当我重新查询我的代码时,我有这个错误:

PERMISSION ERROR, CANNOT OPEN alias(final)

我该如何解决这个问题?

4

1 回答 1

2

使用 SWI-Prologsetup_call_cleanup/3确保您的文件始终处于关闭状态,即使在打开和关闭文件之间发生错误时也是如此。就像是:

setup_call_cleanup(
    open('myfile.txt',append, Stream,[alias(final)]),
    some_instructions
    close(final)
)

有关更多信息,请参阅此谓词的 SWI-Prolog 文档。

于 2013-09-18T16:12:49.517 回答