Once an exception is caught in this code, the menuSystem
method is run, but once I go to input a number the programme closes and the \"Build is successful\" mes
put your try/catch inside your while loop:
while (option != 0) {
final Scanner keyb = new Scanner(System.in);
System.out.println("");
try {
switch (option) {
}
} catch (Exception InputMismachException) {
System.out.println("\nPlease Enter a Valid Number\n");
option = menuSystem();
}
}
Another way you can do it:
List<File> directories;
...
for ( File f : directories ) {
try {
processFolder(f);
} catch( Exception e ) {
SimpleLog.write(e);
}
}
Put the try
and catch
within the while
loop. If the code is using nextInt()
then you need to skip the invalid input as it will not be consumed in the event of a mismatch.
It would be possible to avoid the exception handling for InputMismatchException
by using the hasNextInt()
methods of Scanner
until a valid input is entered before attempting to consume it:
while (!kb.hasNextInt()) kb.next();