MATLAB: Can classes be made unsaveable

classerrorMATLABoopsave

Is there a way to define a class such that the MATLAB save() function throws an error when it tries to save an instance of that class? E.g.
>> h = myclass();
>> save h
Error: Instances of myclass cannot be saved.

Best Answer

No. When a class object is saved, the saveobj method for that class gets called, if it exists. If this method throws an error, it is caught, and thrown as a warning instead. Therefore the best you can do is generate a warning. If you don't want the object to be saved, then you can have the saveobj method return an empty array, which is saved instead:
classdef myclass
...
methods
function a = saveobj(obj)
a = [];
Warning 'myclass objects are unsaveable.'
end
end
end
Related Question