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
- error_table
- gettext
- warning
- try
- execstr
- where

## Historique

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.