Ajuda ! Não consigo usar o Try Catch dentro do while pegando mais de uma exceção, o else if quebra todo o codigo!

Pessoal não consigo alinhar o Try Cath dentro de um while e o else if esta quebrando todo o codigo , alguém pode ver o codigo é dar uma luz ai !

Estou colocando a lógica do código, pra clarear !

package co.javabank.bank;
import java.util.InputMismatchException;
import java.util.Scanner;

public class Javabank {

    public static void main(String[] args) {
        Scanner entradados = new Scanner(System.in);

        Contabank contabank = new Contabank("0001", "1234", "JAVABANK");
        // D =  DEPOSITAR
        // S =  SACAR
        // E =  SAIR
        while (true) {
            System.out.println("O que deseja fazer ? D = Deposito , S = Saque, E = Sair da Conta");
            try {
                String operacoes = entradados.nextLine();
                if (operacoes.equals("D"))
                    System.out.println("Qual valor deseja depositar ?");
                double valor = entradados.nextDouble();
                contabank.depositar(valor);
            } catch (InputMismatchException InputMismatchException) {

            }
        } else if (operacoes.equals("S")) {
            System.out.println("Qual valor deseja sacar ?");
            if (!contabank.sacar(valor)) {
            }
             }catch (InputMismatchException InputMismatchException){
            System.out.println("Ops ! Não foi possivel operação de Saque");
        }

    }
}

Valeu !

Se indentar o código direito, vai ver que você escreveu o else após fechar o while e não após fechar o if.
Você também pôs um catch após fechar um if, está errado, o catch vai depois de fechar o try.

Ficou assim !


Erro no java: ‘else’ without ‘if’
Não entendi direito , se alguém refatorar acho que ficaria melhor !

Isso não é trabalho nosso. O erro está bem claro…

else without if, seu catch deve ser movido pra dps do else if, e seu if não tem as chaves pra fazer a condição com o else if

Você escreveu o else após o catch.
O else, quando necessário, tem que vir depois do if.

Esse fragmento aqui dessa forma , esta funcionando eu só não consigo depois pegar mais excessões usando o else if , veja como ficou !

  while (true) {
            try {
                System.out.println("O que deseja fazer ? D = Deposito , S = Saque, E = Sair da Conta");
                String operacoes = entradados.nextLine();
                if (operacoes.equals("D"))
                    System.out.println("Qual valor deseja depositar ?");
                double valor = entradados.nextDouble();
                contabank.depositar(valor);
            } catch (InputMismatchException InputMismatchException) {
            }


        }

Agora estou usando dessa forma para subentender a condição então recebi esse erro de compilação !

 while (true) {
            try {
                System.out.println("O que deseja fazer ? D = Deposito , S = Saque, E = Sair da Conta");
                String operacoes = entradados.nextLine();
                if (operacoes.equals("D"))
                    System.out.println("Qual valor deseja depositar ?");
                double valor = entradados.nextDouble();
                contabank.depositar(valor);
            } catch (InputMismatchException InputMismatchException) {
            }


        }
  if (operacoes.equal("S")) {
            System.out.println("QUAL VALOR DESEJA SACAR");
            double valor = entradados.nextDouble();
        } else {
           
         if (!contabank.sacar(valor)) {
                System.out.println("ONps ! fOI POSSOIVEL SAQUE !");
            }
        }

    }

ERRO NO COMPILADOR !!!
java: cannot find symbol
** symbol: variable operacoes**
** location: class co.javabank.bank.Javabank**