gpt4 book ai didi

JAVA - Try/Catch 遇到困难

转载 作者:行者123 更新时间:2023-12-02 00:53:19 24 4
gpt4 key购买 nike

我正在为类编写一个直接的机场航站楼风格程序。我超出了作业的范围并“尝试”使用 Try/Catch block ...

然而 Java 现在就是这样的人。

问题是,当有人在以下代码中输入非字母时,它不会捕获然后返回到它捕获的 try block ...

为什么?

编辑 - containsOnlyLetters 方法也有效,除非有人认为这可能是错误?

System.out.println("\nGood News! That seat is available");

try
{//try
System.out.print("Enter your first name: ");
temp = input.nextLine();
if (containsOnlyLetters(temp))
firstName = temp;
else
throw new Exception("First name must contain"
+ " only letters");

System.out.print("Enter your last name: ");
temp = input.nextLine();
if (containsOnlyLetters(temp))
lastName = temp;
else
throw new Exception("Last name must contain"
+ " only letters");
}//end try

catch(Exception e)
{//catch
System.out.println(e.getMessage());
System.out.println("\nPlease try again... ");
}//end catch

passengers[clients] = new clientInfo
(firstName, lastName, clients, request, i);
bookSeat(i);
done = true;

最佳答案

你似乎误解了try/catch的目的和机制。

用于一般的流程控制,更具体地说,其含义是重复try block 直到它没有异常地完成。相反,该 block 仅运行一次,重点是 catch block 仅在抛出匹配的异常时才会执行。

您应该在代码中使用 while 循环和 if 子句,而不是 try/catch。

关于JAVA - Try/Catch 遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5687997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com