addCause

Anexa uma exceção subjacente a uma MException como uma de suas causas.

Categoria: Programming > Programming Utilities

Sintaxe

baseME = addCause(baseME, cause)

Retorna uma cópia de baseME cuja lista cause também contém a exceção cause.

Descrição

Erros costumam ter uma cadeia de motivos: um relatório não pôde ser montado porque um arquivo não pôde ser lido, o que falhou porque faltava uma pasta. addCause registra cada exceção de nível mais baixo na propriedade cause da exceção de nível superior, um cell array, de modo que a cadeia completa viaja junto quando a exceção é lançada e pode ser examinada depois de capturada.

Argumentos de entrada

baseME
A MException de alto nível que descreve a falha.
cause
Uma MException que descreve um motivo de nível mais baixo.

Argumentos de saída

baseME
A exceção atualizada. Atribua-a de volta; o objeto original não é modificado.

Exemplo

Registrando uma causa

ME = MException('app:load', 'Could not load data');
cause = MException('io:missing', 'File not found');
ME = addCause(ME, cause);
disp(numel(ME.cause))
disp(ME.cause{1}.message)
Saída
     1
File not found

Veja também

MException throw getReport addCorrection try, catch