How to display an error message with Try/catch?

7 次查看(过去 30 天)
Hi
I am a complete newbie. I have created a GUI, and in this GUI at the first the user should choose a video to load, after that he should enter a number(of frame) for visualising the photo of this frame. I want to use a try/catch who doesn't let the user to enter a number which is superior than the existing number of frames and display an error message. But I don't know how to do that...( The user can choose any video at the first, so I won't know the number of frames. How should I specify the range of the numbers that he can enter? I know that it could be with the size() but I don't know how...)
  1 个评论
Image Analyst
Image Analyst 2013-7-2
编辑:Image Analyst 2013-7-2
You already asked this twice before, and accepted my answer in this post - what's different now?

请先登录,再进行评论。

采纳的回答

Sean de Wolski
Sean de Wolski 2013-7-2
编辑:Sean de Wolski 2013-7-2
Instead of using a try/catch, inside of the callback for the edit box where they enter the number figure out if the value they have entered is accurate. If it's not, write back the previous value and use errordlg to display the error message.
More
function exampleVerifyString
uicontrol('Style','edit',...
'Units','normalized',...
'Position',[0.1 0.1 0.3 0.5],...
'String','5',...
'Callback',@verifyString);
end
function verifyString(src,~)
%Get the string
val = str2double(get(src,'String'));
%If it's not a number, or integerbetween 0 and 100
if isnan(val) || val<0 || val>100 || val ~= round(val)
set(src,'String','5');
errordlg('Please enter an integer between 0 and 100','Invalid Input');
end
end
Save the above as exampleVerifyString.m

更多回答(1 个)

Chandrasekhar
Chandrasekhar 2013-7-2
try
% code in try part
catch
errordlg('error')
end

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by