如果取消某些内容,如何阻止程序进入try-catch块? 例如:
try{
int i=int.Parse(Interaction.InputBox("BlahBlahBlah"));
}
catch{
//error handling
return
}
但是如果按“取消”或顶部的X怎么办?它转到try-catch,并认为这是一个例外。所以它做错误处理。我该如何阻止它?
答案 0 :(得分: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 );
这样它会一直提示用户,直到输入有效的整数或取消对话框。