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();