Gestion des erreurs dans mIRC
Dès qu'une erreur se produit dans l'un de vos remotes, vous pouvez les
intercepter en ajoutant un rappel de goto :error (ce goto doit toujours s'appeler
error)
Lorsque une erreur va se produire, le script va directement être appelé
au goto :error, et éxécuter les actions qui suit celui-ci.
Après le rappel de votre goto :error, vous pouvez par exemple afficher
$error, qui va retourner l'erreur ayant était provoqué, ou encore
mieux, utiliser la commande /reseterror pour que l'erreur soit ignoré,
et que aucun message d'erreur apparaisse.
Passons aux exemples : (chaque exemple sera à mettre dans les remotes de mIRC, ALT+R)
alias exemple1 {
echo -a $calc(,hehe)
:error
reseterror
}
Tapez ensuite /exemple1
Comme la syntaxe de notre $calc() est fausse, un message d'erreur aurait dû
apparaître.
Mais étant donné que nous avons utilisé reseterror, l'erreur
est donc ignoré, et aucun message d'erreur.
Exemple n° 2 :
alias exemple2 {
dlftjivnspeogfkslmfozjc
:error
if $error { echo -a $error } | reseterror
}
Tapez /exemple2
Etant donné que la commande dlftjivnspeogfkslmfozjc n'existe pas, il
y a une erreur, qui est donc rappelé au goto error.
Si $error n'est pas null (je rappelle que $error a pour but de nous renvoyer
le message d'erreur), alors on affiche cette erreur, mais on
ignore toutefois cette erreur. (nous verrons plus loin l'utilité d'ignorer
l'erreur)
Exemple n° 3 :
alias exemple3 {
echo -a $calc(,hehe)
:error
reseterror
echo -a $calc(1 + 1)
}
Tapez /exemple3
Comme nous pouvons le voir, la syntaxe de $calc dans $calc(,hehe) est incorrect.
(comme dans l'exemple 1)
Alors le script est rappelé au goto error, et reseterror est exécuté,
ayant pour but je rappelle, d'ignorer l'erreur ou les erreurs rencontrés.
Ensuite, nous exécutons $calc(1+1), où ici la syntaxe est correct,
et nous affichons la valeur retourné, c'est à dire 2.
Voila, donc en bref, la grosse utilité de cette gestion d'erreur est
une façon d'empêcher tout bug gênant, et de continuer à
exécuter notre code malgré tout.
Le seul inconvénient que l'on peut lui reprocher : c'est de ne fonctionner
que sur mIRC 6.14 (et oui, il y a encore beaucoup d'users sur les versions inférieure..)