En SWI-Prolog, il n'existe pas de notion native de "code d'erreur" comme dans d'autres langages, car Prolog se base sur une logique de succès/échec pour les prédicats. Cependant, il est possible de structurer un prédicat pour renvoyer un code d'erreur en cas de résultat false.
Voici une approche pour capturer l'échec d'un prédicat et renvoyer un code d'erreur spécifique :
Définir des règles avec codes d'erreurs : Utilisez des clauses qui, en cas de réussite, retournent le résultat, et en cas d'échec, retournent un code d'erreur spécifique.
Utiliser if-then-else avec ; pour vérifier le succès ou l’échec.
Voici un exemple simple :
Code :
% Exemple de prédicat qui échoue si la condition n'est pas satisfaite
mon_predicat(X, Y, Result) :-
( X > 0, Y > 0 -> Result = success ; Result = erreur_code_123
).
% Exemple d'appel
?- mon_predicat(2, -1, Result).
% Result = erreur_code_123.
|
Dans cet exemple, si les deux valeurs X et Y sont supérieures à 0, Result sera success. Sinon, il retourne un code d'erreur (erreur_code_123).
Pour des erreurs plus spécifiques, vous pouvez gérer différents codes d'erreurs selon les cas :
Code :
mon_predicat(X, Y, Result) :-
( X =< 0 -> Result = erreur_code_101 ; Y =< 0 -> Result = erreur_code_102 ; Result = success
).
|
Ici, chaque cas d'échec retourne un code d'erreur différent.
---------------
J'ai un string dans l'array (Paris Hilton)