Try+catch+return == erro!

3 respostas
J

Bom dia!
Comecei com Java a pouco tempo... mas pelas duvidas acho que estou postando no lugar certo, eu pesquisei no forum no google e não achei esse poste foi minha ultima tentativa de entender
o porque quando faço algo assim:

//variaveis declaradas e iniciadas no inicio da classe...
    public String atu2(){
    conexao con = new conexao();
        con.conecta();
         try {
        cont c = new cont();
            if(c.contaLinhasNoWhere("nfinfo")==0){
            cood.setText("Código de Venda: 1");
            cooo=1;
            }else{
            con.executeSQL("select * from nfinfo");
            con.resultSet.last();
                    coo = Integer.parseInt(con.resultSet.getString("idnf"));
                    coo++;
                    cood.setText("Código de Venda: "+coo);
                    cooo=coo;
                    return cooo; //ERRO AQUI!

        } }catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "Erro 35: "+ex);}
//return cooo;
    }

da um erro no meu return, ja tentei por ele fora do try,catch o erro para mas a variavel fica null.
agradecido desde já!

3 Respostas

J

ola amigo

O seu método retorna uma String, portanto obrigatoriamente ele deverá ter um return com valor String garantido. No caso o seu return dentro do bloco try não é garantido e por isso funciona com o return fora dos blocos try catch .

Agora se com o valor fora dos blocos try catch esta sempre voltando nulo, é por que esta acontecendo algum erro dentro do seu bloco try e não esta deixando jogar algum valor para dentro de pooo . Depure a rotina que garantidamente o erro esta ali…

[]s

dyorgio

O mais triste é isso estar em Java Avançado…
Cara, use o eclipse que ele diz qual o problema do seu codigo
antes mesmo de vc executa-lo.
Como nosso amigo ali falou o return é obrigatório ,
cade ele caso ocorra erro?
Cade ele dentro do primeiro if?

J

hehe :oops:
esses erros não se repetirão mais
valeu a ajuda ae!

Criado 6 de setembro de 2009
Ultima resposta 6 de set. de 2009
Respostas 3
Participantes 3