Why does loading my MATLAB Class object with DBSTOP IF ERROR find errors, but normally no errors are found in MATLAB 7.7 (R2008b)

1 view (last 30 days)
I have the following class definition:
classdef test
properties (SetAccess = 'private')
p = '';
end
methods
function testobj = set.p(testobj, q)
if ~(strcmp(q,'a'))
error('error')
end
disp('Listened to p');
testobj.p = q;
end
end
end
If you instatiate a copy of the above class by typing,
a = test;
save a
load a
Nothing happens and the code loads. However, if I first type
dbstop if error
and then execute the same lines as before, the debugger finds the error.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
Generally, the LOAD command tries to load as much as possible and so it never throws real errors unless it detects a corrupt file and is unable to continue. Using "dbstop if all error" is a good way to debug problems during load.

More Answers (0)

Categories

Find more on Programming Utilities in Help Center and File Exchange

Products


Release

R2008b

Community Treasure Hunt

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

Start Hunting!