try, catch
Executa código e trata qualquer erro lançado em vez de interromper o programa.
Categoria: Programming > Programming Utilities
Sintaxe
try, statements, catch, handler, end
Executa statements; se ocorrer um erro, executa handler e continua após end.
try, statements, catch ME, handler, end
Também guarda o erro como MException na variável ME para o handler inspecionar.
Descrição
A execução do bloco try para no primeiro erro, ignora o restante do bloco e salta para o bloco catch. Se nenhum erro ocorre, o bloco catch é ignorado. Os comandos de cada bloco podem estar em linhas separadas; try e catch também podem ser escritos com vírgulas em uma única linha.
Dentro do handler, o identificador indica que tipo de problema ocorreu, então switch ME.identifier pode tratar os esperados e rethrow(ME) pode repassar os demais.
Argumentos de entrada
ME- Nome da variável que recebe a exceção: seu
identifier,messagee outras propriedades descrevem o erro.
Exemplo
Capturando um erro de indexação
x = [1 2 3];
try
y = x(5);
catch ME
disp(ME.identifier)
disp(ME.message)
end
disp('program continues')
Saída
MATLAB:badsubscript
Index exceeds the number of array elements. Index must not exceed 3.
program continues