execstr - exécution d'instructions Scilab contenues dans des chaînes de caractères
Exécute les instructions Scilab données dans l'argument instr .
Note : les instructions ne doivent pas comporter de marques de suite (..).
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 :
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).
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)