Multiple cause exception handling

조회 수: 6 (최근 30일)
Umit Sharip
Umit Sharip 2018년 2월 28일
댓글: Umit Sharip 2018년 3월 1일
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?

채택된 답변

Jan
Jan 2018년 2월 28일
편집: Jan 2018년 2월 28일
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.
  댓글 수: 1
Umit Sharip
Umit Sharip 2018년 3월 1일
Thanks, getReport(e) works.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Structures에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by