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.

 Akzeptierte Antwort

Oliver Woodford
Oliver Woodford am 18 Feb. 2014

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Mehr zu Class Introspection and Metadata finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by