Multiple cause exception handling

4 visualizzazioni (ultimi 30 giorni)
Umit Sharip
Umit Sharip il 28 Feb 2018
Commentato: Umit Sharip il 1 Mar 2018
Consider this script,
try
% code
catch e
fprintf(1,'Exception identifier: %s\n',e.identifier);
fprintf(1,'Exception message: %s\n',e.message);
end
When using try & catch to handle exceptions, if exception has multiple causes, it throws something like this:
Exception occurred!
Exception identifier: MATLAB:MException:MultipleErrors
Exception message: Error due to multiple causes.
Any way to parse the exceptions out one-by-one?

Risposta accettata

Jan
Jan il 28 Feb 2018
Modificato: Jan il 28 Feb 2018
Does this help:
R = getReport(e);
? Otherwise check the list in e.cause and display it in a loop.
...
catch ME
if length(ME.cause) > 1
for k = 1:length(ME.cause)
fprintf('Exception message: %s\n', ME.cause{k}.message);
end
else
fprintf('Exception message: %s\n', ME.message);
end
end
UNTESTED CODE I cannot run it currently. Maybe you have to adjust it, but I hope the idea got clear.

Più risposte (0)

Categorie

Scopri di più su Structures in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by