4
我有以下try和catch代碼MATLAB的一個問題:MATLAB嘗試和catch問題
fonster='';
while ~(~isempty(fonster) && isnumeric(fonster) && isreal(fonster) && isfinite(fonster) && (fonster == fix(fonster)) && (fonster > 0))
try
fonster = input('Välj ett heltal till fönsterplatsen du vill lägga grafen i: ');
catch
disp('Du måste mata in ett heltal');
end
end
它似乎永遠不會進入一個無效的輸入作爲一個字符串時,需輸入密碼的卡腳部分輸入功能。相反,它只是重新運行輸入並忽略我的輸出消息。奇怪的部分是我在我的代碼中的另一個地方使用catch中的disp,但這次它不起作用。
下面是一些例子運行:
輸入沒有try和catch語句:
Välj den fönsterplats du vill lägga grafen i: o
Error using input
Undefined function or variable 'o'.
Error in skapaPlot (line 11)
fonster = input('Välj den fönsterplats du vill lägga grafen i:
');
Error in mainMeny (line 17)
plot_handles = skapaPlot(plot_handles);
Välj den fönsterplats du vill lägga grafen i:
用try和catch:
Välj ett heltal till fönsterplatsen du vill lägga grafen i: f
Välj ett heltal till fönsterplatsen du vill lägga grafen i: d
Välj ett heltal till fönsterplatsen du vill lägga grafen i: s
Välj ett heltal till fönsterplatsen du vill lägga grafen i:
爲什麼它不顯示DISP部分?!