-
Notifications
You must be signed in to change notification settings - Fork 0
API Basic SafeCall fr
ClassicUO • Basic
Safe Call est un préfixe de compatibilité pour un appel ordinaire. Il n’ajoute ni protection contre les erreurs, ni délai maximal, ni verrou, ni exécution en arrière-plan.
Safe Call FunctionName(arguments)
VAR value = Safe Call FunctionName(arguments)
-
FunctionName— Nom d’une procédure/fonction existante. Les appels du jeu exigent UO. ; les fonctions intégrées BASIC n’ont pas de préfixe. -
arguments— Arguments habituels de la fonction choisie. Les parenthèses sont obligatoires. Séparez Safe et Call par des espaces.
Le résultat original est renvoyé. Unit signifie toujours absence de valeur ; Safe Call ne convertit pas le résultat en true/false.
- L’appel reste dans le flux courant du script, avec les règles habituelles d’arguments, ByRef, retour et annulation. Aucune tâche séparée n’est créée.
- Les erreurs ne sont pas supprimées. Utilisez Try/Catch ; Safe Call seul n’est pas un gestionnaire d’erreurs.
- Le préfixe est interdit dans RaiseEvent. Le nouveau code peut normalement appeler directement FunctionName(...). Il s’agit d’une syntaxe de compatibilité du moteur, pas d’une construction VB.NET standard.
# Sum reçoit x=20 et y=22 et renvoie 42. Safe Call ne change ni le type ni la valeur du résultat.
FUNCTION Sum(x, y)
RETURN x + y
END FUNCTION
SUB Main()
RETURN Safe Call Sum(20, 22)
END SUBExplication des paramètres et du déroulement:
Sum reçoit x=20 et y=22 et renvoie 42. Safe Call ne change ni le type ni la valeur du résultat.
# Val reçoit "123" et renvoie un nombre. Ajouter 7 donne 130. Val est intégrée à BASIC : ne pas ajouter UO.
SUB Main()
VAR text = "123"
RETURN Safe Call Val(text) + 7
END SUBExplication des paramètres et du déroulement:
Val reçoit "123" et renvoie un nombre. Ajouter 7 donne 130. Val est intégrée à BASIC : ne pas ajouter UO.
# Fail lève explicitement une erreur. Catch la reçoit et passe caught à TRUE (1). Sans Try/Catch elle se propagerait. Le code complet de Fail figure ci-dessous.
FUNCTION Fail()
THROW "sample error"
END FUNCTION
SUB Main()
VAR caught = FALSE
TRY
VAR value = Safe Call Fail()
CATCH problem
caught = TRUE
END TRY
RETURN caught
END SUBExplication des paramètres et du déroulement:
Fail lève explicitement une erreur. Catch la reçoit et passe caught à TRUE (1). Sans Try/Catch elle se propagerait. Le code complet de Fail figure ci-dessous.
ClassicUO - Bad Newbie & Basic IDE Edition