Вы можете поймать InputMismatchException
, как вы делаете правильно, но вместо того, чтобы вызывать e.printStackTrace()
, вы можете выдать новое исключение с вашим собственным сообщением. Помните, что вам также нужно объявить, что ваш main
может выдать исключение.
public class Main {
public static void main(String[] args) throws Exception {
Scanner scan;
float feeHold;
System.out.println("\nEnter Registration Fee (only numbers)");
try {
scan = new Scanner(System.in);
feeHold = scan.nextFloat();
System.out.println("\n" + feeHold);
} catch (InputMismatchException e) {
throw new Exception("Here's your custom message");
}
}
}
Вывод:
Enter Registration Fee (only numbers)
abc
Exception in thread "main" java.lang.Exception: Here's your custom message
at Main.main(Main.java:19)
Это просто способ сделать то, что вы спросил, наверное, не самый подходящий. Посмотрите немного в документации Exception , и вы обязательно найдете более структурированный и элегантный способ выполнения sh вашей задачи.