有没有办法使错误消息循环?

用户12922371

我试图循环捕获的错误消息,但它只循环了一次,在我再次尝试后立即崩溃,输入错误无效,即使我专门为此创建了布尔错误。

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;
    }
  }
 }
}
一般

当您可以解析输入时,不要使用异常验证用户输入

int age = Convert.ToInt32(Console.ReadLine());

而是使用TryParse样式方法来验证原始内置数据类型的输入,例如int.TryParse.

将数字的字符串表示形式转换为其等效的 32 位有符号整数。返回值指示操作是否成功。

下面的示例解析Console.ReadLine(用户输入),并循环直到用户正确为止。

int age;
Console.Write("Enter your age: ");
while (!int.TryParse(Console.ReadLine(), out age) || age > 2000 || age < 0)
   Console.Write("You had one job, enter an age, try again ");

Console.WriteLine(age);

注意:这并不是要为您的应用程序提供完整的工作解决方案,它只是一个示例,说明您可以如何无例外地验证整数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法处理这种循环(for循环)

有没有办法使“ for循环的for循环”?

有没有办法在验证规则上设置特定的错误消息?

当您尝试打印变量时,有没有办法打印错误消息?

有没有办法让python检测字母字符并产生错误消息?

有没有办法暂时禁用dmesg中的段错误消息?

有没有办法循环索引

有没有办法将CompletableFuture放入循环?

有没有办法阻止 tkinter 循环出错?

有没有办法写PRINT语句的FOR循环?

有没有办法更快地进行循环

有没有办法修改此循环?

有没有办法确保循环迭代不同?

有没有办法执行此循环?

有没有办法向量化此for循环

有没有办法重构这个 Javascript for 循环?

有没有办法忽略HDL代码中的组合循环错误?

有没有办法保证段错误?

有没有办法消除我收到的错误?

有没有办法回到错误行并停止?

当没有显示有效输入时,有没有办法显示消息?

有没有办法使用 Django Logging 过滤掉特定的错误消息?例如 UncompressableFileError

有没有办法在工作簿中解锁工作表时显示错误/提醒消息?

有没有办法让所有Class元素都没有for循环?

有没有办法在重定向甚至清除消息后控制消息?

有没有办法增加SysV消息队列中可以包含的最大消息量?

有没有办法将带有计数的 for 循环变成递归循环?

有没有办法在不使用try()或tryCatch()的情况下在错误后继续R中的for循环

有没有办法在没有for循环的情况下转置该表