Scilab Function
Last update : 14/12/2005

execstr - exécution d'instructions Scilab contenues dans des chaînes de caractères

### Calling Sequence

  `execstr(instr)`
  `ierr=execstr(instr,'errcatch' [,msg])`

### Parameters

- `instr` : vecteur de chaînes de caractères
- `ierr` : entier, 0 ou numéro de l'erreur
- `msg` : chaîne de caractères (`'m'` ou `'n'`). La valeur par défaut est `'n'`.

### Description

Exécute les instructions Scilab données dans l'argument `instr`.

Si 'errcatch' n'est pas présent dans les arguments, les erreurs sont contrôlées comme d'habitude.

Si 'errcatch' est présent dans les arguments, et qu'une erreur est rencontrée lors de l'évaluation d'un élément de `instr`, `execstr` ne produit aucun message d'erreur, mais stoppe l'exécution des instructions stockées dans `instr` (au point où l'erreur s'est produite), et renvoie dans `ierr` le numéro de l'erreur. Dans ce cas l'affichage du message d'erreur est contrôlé par l'option `msg` :

  "m": le message d'erreur est affiché et enregistré
  "n": le message d'erreur n'est pas affiché mais il est enregistré (voir `lasterror`). Il s'agit du comportement par défaut.

ierr=execstr(instr,'errcatch') peut gérer les erreurs de syntaxes. Ceci peut être utile pour évaluer les instructions obtenues par une requète à l'utilisateur (interface homme-machine).

### Examples

    execstr('a=1') // affecte a=1.

    execstr('1+1') // ne fait rien de particulier (alors que evstr('1+1') renvoie 2)

    execstr(['if %t then';
             '  a=1';
             '  b=a+1';
             'else'
             ' b=0'
             'end'])

    // récupération des erreurs d'exécution
    execstr('a=zzzzzzz','errcatch')
    execstr('a=zzzzzzz','errcatch','m')

    // récupération des erreurs de syntaxe
    execstr('a=1?02','errcatch')
    lasterror(%t)

    execstr('a=[1 2 3)','errcatch')
    lasterror(%t)

### See Also

`try`, `errclear`, `iserror`, `whereami`, `execstr`,