Skip Error Message and Continue with the M-File
39 次查看(过去 30 天)
显示 更早的评论
Hello dear Friends,
does someone know how to have a m-file to continue after an error message is returned !?
I've a file that retrives info from the internet (data, etc.). Sometimes (randomly) an internet connection problem results (error 111) and matlab stops to execute the m-file algo! Since this files connects to more than 5000 web pages (one per time) it is possible that a connection error is returned in matlab.
I simply want the program to resume the operations specified in the m-file.
does someone know how to do this?
thank you for your help ...
4 个评论
Walter Roberson
2017-5-15
Create your own function msgbox and place it earlier in the path than MATLAB's version:
function fig = msgbox(varargin)
if nargout > 0
fig = gobjects(0);
end
Note: the above is valid for R2014b and later only.
This will likely interfere with messages that you want kept. so a much better strategy would be to either comment out the calls you do not want or else put them inside an "if" condition that allows you to choose whether to display them or not.
采纳的回答
Arturo Moncada-Torres
2011-6-17
Completing Gerd's answer, I would include the catch statement. The catch executes everytime an error is encountered in the try block, so maybe not display an error message that stops the execution, but maybe a message in console to know that something went wrong (execution will continue anyway):
try
% Code to be executed goes here.
catch
disp('An error occurred while retrieving information from the internet.');
disp('Execution will continue.');
end
2 个评论
Yu
2013-11-14
but the statement between the catch and end never exectes!!!!
It only check whether the statement between catch and end is processable!!!
What if i want to execute one statement between try and catch, if errors happens bewtween thoses statements, the error will be ignored and the statement between the catch and end will be executed!!!?
Marcel
2022-11-17
Excuse me what? You know how a try-catch block works?
A catch -block contains statements that specify what to do if an exception is
thrown in the try -block. If any statement within the try -block (or in a function
called from within the try -block) throws an exception, control is immediately shifted
to the catch -block
更多回答(2 个)
Gerd
2011-6-17
Hi,
just use the try command on the weboperation.
try
%commands to be executed
end
If you do have a problem between the try block you still can continue in your m-file
Gerd
0 个评论
Ahmadreza Eslami
2022-4-27
The code that you are going to execute has an erronous line(s). In case of error, part under try will stop due to the error but the catch part will continue which the second part of your code after error.
% Your code part one
try
% your code
% Error
catch
% Your code part two
end
1 个评论
Walter Roberson
2022-4-27
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Financial Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!