How to supress a warning which does not have a corresponding warning ID.
Show older comments
>> vxlib
Warning: 'vxlib' is obsolete, use 'vxlib1' instead.
If I were to supress a warning warning('off',id), I would need a corresponding ID. But the above does not have one, how could this be suppressed?
3 Comments
Walter Roberson
on 4 Jul 2013
After you give that command, try giving the command
lastwarn
to see its ID
Chetan Aswathanarayana
on 4 Jul 2013
Image Analyst
on 4 Jul 2013
Maybe try this instead:
warnStruct = warning('query', 'last')
will probably give the same thing, but might be worth a shot.
Answers (2)
I dare to ask, if it could be importamt mot to hide the message, but to follow the suggestion to use 'vxlib1' instead.
Sorry for mentioning this.
[EDITED] Let me mention this, althout I recommend not do this in productive code: You can shadow the builtin warning command by a user-defined function, which create automatic warn-IDs:
function Out = warning(varargin)
In = varargin;
if nargout
Out = builtin('warning', In{:});
else
if length(strfind(In{1}, ':') < 2) % ??? How to recognize the ID ???
autoKey = DataHash(In{1}, struct('Format', 'hex'));
In = cat(2, {['My:Id:', autoKey]}, In);
end
builtin('warning', In{:});
end
(Written in the forum's editor ==> not tested!!!)
Please note, that any bug in this code can suppress extremely important warning messages and I strongly recommend not to tinker on builtin functions without extremely good testing. Even then it will be very confusing if you run the same codes on another machine and get warnings, which are hidden on your home machine. Therefore I recommend either to edit the code of the function to insert the ID or follow the adviced changes to avoid the warning.
Hugo
on 4 Jul 2013
Use
warning('off','comm:obsolete:vxlib');
It may ask you to unlock the library first in a popup window, which you can do by just clicking "unlock" in that same window.
2 Comments
Chetan Aswathanarayana
on 4 Jul 2013
Hugo
on 4 Jul 2013
Edited: Image Analyst
on 4 Jul 2013
Ok. What you can do then is:
s=warning('off','all');
vxlib
warning(s);
The first line turns off all warnings.
The second line starts vxlib.
The third line sets back all warnings in their previous state.
Categories
Find more on Loops and Conditional Statements 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!