Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Scilab > Gestion des erreurs > error

error

signale une erreur d'éxécution

Séquence d'appel

error(message)
error(message, n)
error(n, message)

Paramètres

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(…).

n

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.

Description

error(…) permet de signaler une erreur d'exécution. Par défaut, error

  • stoppe l'éxécution en cours,
  • affiche dans la console la liste des appels imbriqués ayant mené à l'erreur,
  • affiche dans la console le message d'erreur donné,
  • et revient au niveau d'exécution initial.

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.

Exemples

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.

Voir aussi

  • lasterror — get last recorded error message
  • error_table — list of main standard errors messages
  • gettext — indexes or/and translates some indexed english messages
  • warning — Messages d'avertissement à l'attention des utilisateurs
  • try — mot clé de début du bloc try dans une instruction de contrôle try-catch
  • execstr — exécution d'instructions Scilab contenues dans des chaînes de caractères
  • where — donne l'arborescence d'appel courante

Historique

VersionDescription
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.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 14:59:53 CET 2019