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
MExceptionde alto nível que descreve a falha. cause- Uma
MExceptionque 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