Привет, ребята, поэтому моя программа на самом деле не ломает никаких ошибок, т. Е. Когда я ввожу букву вместо допустимого числа, она улавливает ошибку, но она не возвращается обратно меню, он просто отображает утверждение. И когда я использую номер за пределами оператора switch, т. Е. 5, он просто возвращается в меню без отображения ошибки. Мой код ниже:Как сделать ошибку захвата программы в обработке исключений-Java
public void runMenu() {
Scanner Option = new Scanner (System.in);
int x = 1;
int Choice = 0;
do{
try{
System.out.println("Choose Option");
System.out.println("");
System.out.println("1: Create Account");
System.out.println("2: Check Account");
System.out.println("3: Take Action");
System.out.println("4: Exit");
System.out.println("Please choose");
Choice= Option.nextInt();
switch (Choice) //used switch statement instead of If else because more effective
{
case 1:
CreateAccount();
break; //breaks iteration
case 2:
selectAccount();
break;
case 3:
Menu();
int choice = UserInput();
performAction(choice);
break;
case 4:
System.out.println("Thanks for using the application");
System.exit(0);
default:
throw new Exception();
// x=2; //if code doesn't run successfully then x !=2 leading to exception
}
}
Зачем он должен возвращаться в меню в случае возникновения какого-либо исключения? Вы записали инструкцию 'return' в блоке catch – Rehman
John - Обратите внимание, что последнее редактирование вопроса сделало код не компилируемым ... и как только вы исправите ошибки компиляции, поведение будет иным. Если вы хотите, чтобы люди помогали вам, не делайте этого. –