:
이 특별한 경우를 들어 당신은 메시지를 출력합니다 "잘못된"인수에 대응와 술어를 만들 수 있습니다. 좀 더 정확히 말하자면, Prolog 플래그 unknown
이 있습니다.이 플래그는 동작을 얻으려면 error
으로 설정해야합니다. 대부분의 시스템에서는 이것을 매우 합리적인 기본값으로 사용합니다. 그러나 확실하게 목표 인 set_prolog_flag(unknown,error)
을 발행하면됩니다.
오류는 fruit/1
이 있다고 예상되지만 더 이상 가정하지는 않습니다.
오류가 누락 된 것이 좋습니다. 그것은 오류 일 수 있습니다. 똑같이, fuit/1
이라는 의미의 오타가 될 수 있습니다. 프랑스어는 (도망칩니다) 또는 라틴어 (그는)였습니다. 아니면 용어를 적절히 중첩하는 것을 잊어 버렸을 수도 있습니다. 누가 알아. 실제 오류가 무엇인지에 대한 많은 훌륭한 이론이 있으므로 제안은 조금 더 신중해야합니다.
많은 시스템에서 유사한 제안 사항이 있습니다. 이들은 종종 잡히지 않은 오류를 해석하는 최상위 루프에 연결됩니다.
당신과 같이 이러한 오류를 직접 잡을 수 :
?- catch(Goal, error(existence_error(procedure,Inex),_), Action_on_error).
당신의 선생님, 환호 생명의 은인이다! – fleggle