在列表中捕获非法字符串的开始

时间:2014-12-02 19:26:49

标签: error-handling prolog

如果我有一个列表[1,2,3,]并在下面使用它:

append([0],[1,2,3,],X)

由于额外的逗号,我会收到错误:

ERROR: Syntax error: Illegal start of term
ERROR: append([0],[1,2,3
ERROR: ** here **
ERROR: ,],Stack) . 

有没有办法捕获此错误并使其失败并显示false

1 个答案:

答案 0 :(得分:0)

您必须删除额外的逗号。它有什么用途?

只需删除逗号,程序就可以正常运行:

1 ?- append([0],[1,2,3],X).
X = [0, 1, 2, 3].