无法在prolog

时间:2016-04-30 22:44:41

标签: try-catch windows-10 swi-prolog

我想检查服务器是否正在侦听,为此我使用下面显示的代码。

:- use_module(library(socket)).

goal(IP,Port,Sock):-
    tcp_socket(Sock),
    tcp_connect(Sock,IP:Port).

main(IP,Port):-
    catch(goal(IP,Port,Sock),error(X,Y),writeln('Error')).

我从控制台调用主要部分。我曾尝试使用 catch / 3 来捕获错误但我的代码总是卡住并且我得到操作系统错误'swipl。 exe已停止工作',迫使我关闭prolog控制台。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

我找到了问题的答案。我使用稳定版本7.2.3。使用开发版本7.3.2解决了我的问题。