0

如果我取消某些内容,如何防止程序进入 try-catch 块?前任:

try{
  int i=int.Parse(Interaction.InputBox("BlahBlahBlah"));
}
catch{
  //error handling
  return
}

但是如果我按“取消”或顶部的 X 怎么办?它进入try-catch,并认为这是一个例外。所以它会进行错误处理。我该如何阻止这个?

4

1 回答 1

3

根据文档(http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.interaction.inputbox(v=vs.110).aspx),如果用户取消,则会返回一个空字符串。

你会想要这个:

do {
    String text = Interaction.InputBox("Enter a number");
    if( text == "" ) return -1;
    Int32 number;
    if( Int32.TryParse( text, out number ) ) return number;
} while( true );

这样,它将继续提示用户,直到输入有效的整数或他们取消对话框。

于 2013-11-09T00:47:53.023 回答