我试图循环捕获到的错误消息,但是它只循环了一次,即使我专门为此创建了布尔错误,也仍然以无效的输入错误再次尝试后崩溃。
public static void Main(string[] args) {
Console.Clear();
bool error = false;
try {
Console.Write("Enter your age: ");
int age = Convert.ToInt32(Console.ReadLine());
}
catch{
Console.Clear();
error = true;
Console.Write("\nPlease enter a valid age...\n");
while(error == true){
Console.Write("\n" + "Enter your age: ");
int age = Convert.ToInt32(Console.ReadLine());
if(age < 2000 && age > 0){
error = false;
}
}
}
}
parse输入时,请不要使用Exceptions >>用validate用户输入int age = Convert.ToInt32(Console.ReadLine());
而不是使用TryParse
类型方法,例如int.TryParse
将数字的字符串表示形式转换为其32位带符号等价的整数。返回值指示操作是否成功。
int.TryParse