signale une erreur d'éxécution
error(message) error(message, n) error(n, message)
Vecteur de chaînes de caractères. Le message à afficher. Chaque élément
est affiché sur une ligne distincte. Il est de bon usage d'indiquer
une version du message traduite via gettext(…)
.
entier > 0: identifiant numérique à attribuer à l'erreur. Par défaut = 10000.
Alors que le message apparaît le plus souvent traduit dans la langue
de la session, n
permet d'identifier et de tester l'erreur
indépendamment de la langue.
error(…)
permet de signaler une erreur d'exécution. Par défaut,
error
message
d'erreur donné,Afin d'éviter de stopper l'exécution, l'erreur peut être interceptée et gérée
en utilisant try … catch
ou execstr(…,'errcatch')
,
et en l'identifiant avec lasterror(…)
.
error(message)
produit (et affiche) une erreur n° 10000 indiquée par
le message
fourni.
error(message,n)
identifie l'erreur par le n° n
.
Voir la table des messages standard dans error_table. La plupart d'entre eux sont déjà traduits dans les 4 principales langues supportées.
function test(a) if argn(2)~=1 msg = gettext("%s: Wrong number of input arguments: %d expected.\n") error(msprintf(msg, "test", 1)) end endfunction function myfun() a = 1; test() endfunction // ---------- error(['A multi line' 'error message']) error(500, 'Error: my error message') [m, n] = lasterror() test() myfun() | ![]() | ![]() |
--> error(['A multi line' 'error message']) A multi line error message --> error(500, 'Error: my error message') Error: my error message --> [m, n] = lasterror() n = 500. m = Error: my error message --> test() à la ligne 4 de la fonction test test : Nombre erroné d'arguments d'entrée : 1 attendus. --> myfun() à la ligne 4 de la fonction test à la ligne 3 de la fonction myfun test : Nombre erroné d'arguments d'entrée : 1 attendus.
Version | Description |
5.0.0 | Syntaxe error(n, message) introduite. |
5.4.0 | Le message peut désormais être multiligne (vecteur de textes). |
6.0.0 | Syntaxes error(n) et error(n, pos)
supprimées : un message d'erreur explicite doit désormais être obligatoirement
indiqué. Il n'y a désormais plus d'identifiant d'erreur absolu. |