MATLABの次のtryandcatchコードに問題があります。
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:
試してみてキャッチ:
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:
なぜ表示部分が表示されないのですか?!