# execstr

executa código Scilab em strings

## Seqüência de Chamamento

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

## Parâmetros

instr

  vetor de strings, instrução Scilab a ser executada.

ierr

  inteiro, 0 ou número de erro.

msg

  string com valores `'m'` ou `'n'`. O padrão é `'n'`.

## Descrição

Executa as instruções Scilab fornecidas pelo argumento `instr`.

Note que instr não deve fazer uso de marcas de continuação(..)

Se o flag 'errcatch' não estiver presente, a manipulação de erros ocorre de maneira usual.

Se o flag 'errcatch' for ajustado, e um erro for encontrado enquanto são executadas as instruções definidas em `instr`, `execstr` não imprime uma mensagem de erro, mas aborta a execução das instruções `instr` (no ponto onde o erro ocorreu) e retorna com `ierr` igual ao número de erro. Neste caso a exibição da mensagem de erro é controlada pela opção `msg` :

"m"

  a mensagem é exibida e registrada.

"n"

  nenhuma mensagem de erro é exibida, mas a mensagem de erro é registrada (ver `lasterror`). Este é o padrão.

ierr= execstr(instr,'errcatch') pode manipular erros sintáticos. Isto é útil para a avaliação de uma instrução obtida por uma pegunta ao usuário.

## Exemplos

    execstr('a=1') // ajusta a=1.
    execstr('1+1') // faz nada (enquanto evstr('1+1') retorna 2)

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

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

    //erros de sintaxe
    execstr('a=1?02','errcatch')
    lasterror(%t)

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

## Ver Também

- evstr
- lasterror
- error
- try