rethrow
Lança novamente uma exceção, normalmente de dentro de um bloco catch.
Categoria: Programming > Programming Utilities
Sintaxe
rethrow(ME)
Lança a exceção ME com seu identificador e mensagem originais.
rethrow(errStruct)
Lança um erro descrito por um struct com os campos message e identifier.
Descrição
Um bloco catch que trata parte de um problema, como liberar um recurso, pode repassar o erro a quem chamou com rethrow(ME) em vez de escondê-lo. Quem chamou vê então o identificador e a mensagem originais.
Argumentos de entrada
ME- Um objeto
MException. errStruct- Struct com pelo menos os campos
messageeidentifier.
Exemplo
Limpando e repassando o erro
try
try
error('io:fail', 'disk error')
catch inner
disp('cleaning up')
rethrow(inner)
end
catch outer
disp(outer.identifier)
end
Saída
cleaning up
io:fail