请教 MException 的对象函数为何不能用 "对象名.方法" 的形式?。

8 views (last 30 days)
我用的是matlab R2020a,根据函数参考手册,MException的对象函数有 addCause、throw等。
我以 addCause 来说明我的问题。下面这个例子来自于 addCause 的函数参考
1 A = [13 42; 7 20];
2 idx = [1 0 1; 0 1 0];
3 try
4 A(idx);
5 catch
6 errID = 'MYFUN:BadIndex';
7 msg = 'Unable to index into array.';
8 baseException = MException(errID,msg);
9 try
10 assert(islogical(idx),'MYFUN:notLogical',...
11 'Indexing array is not logical.')
12 catch causeException
13 baseException=addCause(baseException,causeException)
14 % baseException.addCause(causeException)
15 end
16 throw(baseException)
17 end
程序第13行,能正确地将对象 causeException 添加到 baseException中,
我认为 addCause 是 baseException 的对象函数,那就应该可以用第14行的语句实现同样功能
但第14行运行后,baseException的cause属性还是为空白。
请问这是为什么?baseException对象为什么不能用对象方法addCause?
谢谢!

Accepted Answer

果博东方开户咨询【微8785092】
14行换成:
baseException = baseException.addCause(causeException)

More Answers (0)

Categories

Find more on Exception Handling in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!