execstr исполняет Scilab-код, заданный в строках

## Синтаксис

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

## Аргументы

instr

  вектор символьных строк, Scilab-инструкции, которые нужно исполнить.

ierr

  целое число, 0 или номер ошибки.

msg

  символьная строка со значениями `'m'` или `'n'`. Значение по умолчанию - `'n'`.

## Описание

Исполняет Scilab-инструкции, указанные в аргументе `instr`.

Заметьте, что инструкции `instr` не должны использовать символы продолжения (..)

Если флаг `'errcatch'` не указан, то обработка ошибок ведётся как обычно.

Если указан флаг `'errcatch'`, и во время исполнения инструкций в `instr` произойдёт ошибка, то функция `execstr` не выдаст сообщения об ошибке, но прекратит исполнение инструкций `instr` (в том месте, где произошла ошибка), и вернёт номер ошибки `ierr`. В этом случае отображение ошибки управляется опцией `msg`:

"m"

  сообщение об ошибке выводится на экран и записывается.

"n"

  сообщение об ошибке не отображается, однако записывается (see lasterror). Это значение по умолчанию.

`ierr = execstr(instr, 'errcatch')` может обрабатывать синтаксические ошибки. Это полезно для выполнения инструкций, полученных по запросу пользователя.

## Примеры

    execstr('a=1') // устанавливает a=1.

    execstr('1+1') // ничего не делает (тогда как evstr('1+1') возвращает 2)

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

    execstr('a=zzzzzzz','errcatch')

    execstr('a=zzzzzzz','errcatch','m')

    //syntax errors
    execstr('a=1?02','errcatch')
    lasterror(%t)

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

    // variable1 не существует
    if execstr('variable1;','errcatch')<>0 then
       disp("Взведена ошибка");
    else
       disp("execstr полна счастья");
    end

    // variable2 существует ... execstr не взводит ошибки
    variable2=[2,3];
    if execstr('variable2;','errcatch')<>0 then
       disp("Взведена ошибка");
    else
       disp("execstr полна счастья");
    end

## Смотрите также

- evstr
- lasterror
- error
- try