Wpis z mikrobloga

Java pytanie.
Czy istnieje możliwość żeby wydrukować liczbę którą zeskanowałem w odpowiedzi w przypadku pojawienia się wyjątku?
Przykład:
input = "sc3",
output = " Liczba sc3 nie może posiadać liter",

Myślałem o czymś takim ale nie działa.

int number;
try {
number = scanner.nextInt();
} catch (InputMismatchException e) {
System.out.printf("Liczba %d nie może posiadać liter", number);
}

#naukaprogramowania #java
  • 6
@Kamishimi: bardziej coś takiego:

String num = scanner.next();
int number;
try {
number = Integer.parseInt(num);
} catch (NumberFormatException e) {
System.out.printf("Wyrażenie %s nie może posiadać liter", num);
}
@Kamishimi: dodaj finally {} po catch - wykonuje się nawet w przypadku wystąpienia wyjątku

try {
// instrukcje ktore moga potencjalnie zakonczyc sie wyjatkiem
} catch (TypWyjatku dowolnaNazwa) {
// instrukcje, gdy zajdzie wyjątek TypWyjatku
} catch (KolejnyTypWyjatku dowolnaNazwa2) {
// instrukcje, gdy zajdzie wyjątek KolejnyTypWyjatku
} finally {
// instrukcje, ktore maja byc wykonane niezaleznie od tego,
// czy wyjatek zostal zlapany, czy nie
}

https://kursjava.com/wyjatki/korzystanie-z-try-catch-finally/