Wie kann man eine weitere Ausnahme machen, damit es von einem anderen Fang gefangen wurde?
Posted: 11 Feb 2025, 02:39
In der Methode setPhoneNumber wie ich neue NewidphoneNumber ("Die Telefonnummer sollte aus nur Zahlen bestehen") so, dass es als InvalyPonNumber
gefangen wird
Wenn ich den obigen Code ausführe, erhalte ich eine Ausnahme:
gefangen wird
Code: Select all
public class App {
public static void main(String[] args) {
var person = new Person();
var scanner = new Scanner(System.in);
setPhoneNumber(person, scanner);
System.out.println(person);
}
private static void setPhoneNumber(Person person, Scanner scanner) {
System.out.print("Введите номер телефона в виде целого числа: ");
var input = scanner.nextLine();
long phoneNumber;
String message;
while (true) {
try {
phoneNumber = Long.parseLong(input);
person.setPhoneNumber(phoneNumber);
break;
} catch (NumberFormatException e) {
throw new InvalidPhoneNumber("Номер телефона должен состоять только из цифр");
} catch (InvalidPhoneNumber e) {
message = String.format("%s. Повторите ввод: ", e.getMessage());
System.out.print(message);
input = scanner.nextLine();
}
}
}