Exception desconhecida!

19 respostas
Tche

Galera, urgente!!!

Tenho um aplicativo que utiliza Conexao com MySql 5.0 e está rodando local na máquina.

O meu aplicativo libera o acesso via usuário e senha, que seriam os mesmos do banco de dados.

Porém, quando tento fazer a conexão, me retorna uma Exception Estranha.

O nome dela? Não sei! Tentei utilizar este código para pegá-la mas não retorna linha nenhuma!

}(Exception e){
    JOptionPane.showMessageDialog(null,e.getMessage());
}

Tentei utilizar ele em diversos lugares como demonstrá-lo num label qualquer, porém, ele não retorna linha alguma!

quando rodo na minha máquina, onde utilizo um e.printStackTrace(), ele roda normal.

porém, depois de eu compilar um arquivo JAR e enviá-lo à máquina do usuário, acontece isso!

Alguém poderia me ajudar com alguma idéia doque seria???

Agradeço desde já!!!

19 Respostas

L

Acho que vc não está colocando o try-catch no lugar correto, ou seja, a exception está sendo gerada em algum lugar em que seu try-catch não está!!!

jopss

Como está fazendo isso? ele instala o mysql tbm nao? Carrega o banco?

jopss :stuck_out_tongue:

Tche

positivo, esta máquina é o servidor de banco de dados, e estou instalando o aplicativo local por necessidades do usuário.

vou tentar ver o detalhe do try…

já agradeço a ajuda

jopss

Se o JOptionPane abre e nao mostra nada dentro, entao o erro ocorrido está sim dentro do try…
se nem abre o JOptionPane, entao está ocorrendo fora mesmo…

jopss :stuck_out_tongue:

L

Experimenta adicionar um try provisório englobando o método que faz a conexão ou os métodos prováveis que estejam ocorrendo o erro. Assim vc pode achar a linha que está dando o problema.

Tche

é estranho isso…

porém, antes do meu try eu verifico o sistema operacional do usuário e atribuo uns valores a umas Strings.

Vou colocar o try englobando tudo e fazer um teste…

mas o engraçado, como disse o jopss é que o JOptionPane aparece…

se o erro estivesse fora do try, dentro de uma lógica, não apareceria o JOptionPane…

jopss

ah outra coisa… se quando vc diz…

significa que vc acessa a base e tal, sem erros, entao e erro está na sua implementacao no cliente e nao no codigo em si… reveja como está fazendo isso… tente tbm rodar fora de uma IDE, na sua propria maquina, como se estivesse instalando no cliente para ver oq acontece… e programe pensando fora da IDE… já tive alguns problemas nisso e era algo assim.

e

}(Exception e){  
JOptionPane.showMessageDialog(null,e.getMessage());  
}

na verdade deve estar assim nao?:

}catch(Exception e){  
JOptionPane.showMessageDialog(null,e.getMessage());  
}

jopss :stuck_out_tongue:

Tche

Nada… englobei tudo pelo try mas ainda sim ocorre a mesma situação…

jopss

poste o codigo

Tche

sim sim o catch existe, só esqueci do coitado pra colocar aki! =)!

Eu rodo o JAR na minha máquina e rola… tanto com o host de Banco de Dados apontando para o meu quanto para o dele…

Tentei reinstalar a JVM na máquina do usuário mas persistiu o erro…

Tche
try{
        
        //Variáveis        
        ResultSet vResultado = null;                
        String vComando = null;
        String vArquivoConfig = null;
        vUsuario = oUsuario.getText();
        vSenha = String.valueOf(oSenha.getPassword()); 
        
        //Identifica qual sistema operacional utilizado
        String vSistemaOperacional = System.getProperty("os.name");
        if ( vSistemaOperacional.equals("Linux") ){
            //System.out.println("Você está usando o sistema operacional : "+ vSistemaOperacional);
            vArquivoConfig = "/Config.ini";
        }
        else if ( vSistemaOperacional.equals("Windows") ){
            //System.out.println("Você está usando o sistema operacional : "+ vSistemaOperacional);            
            vArquivoConfig = "\\Config.ini";
        }
        else{
            //System.out.println("Sistema operacional não localizado!");
        }
        
        //Identifica o diretório da aplicação
        String vDiretorio = System.getProperty("user.dir");
        //System.out.println("Diretório da aplicação : " + vDiretorio);
            
               

            cConexao = new Conexao();
            cConexao.mConexaoAbrir(vUsuario, vSenha);
            FPrincipal cPrincipal = new FPrincipal();
            cPrincipal.setVisible(true);
            cPrincipal.mLogin(vUsuario, vSenha);

            //Carrega informações do usuário
            Sql cSql = new Sql();            
            vComando = 
                    " select filial_nid "+
                    " from usuarios "+
                    " where usuario = '"+vUsuario+"'";
            //System.out.println(vComando);
            vResultado = cSql.mSqlSelect(vComando);                                       
            
            while (vResultado.next()){
                vFilial = vResultado.getString("filial_nid");
                cPrincipal.mLoginFilial(vFilial);
                //System.out.println("Filial : "+vFilial);
            }            
            
            //Fecha form
            this.dispose();
            
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
            System.out.println("Erro " + ex.getMessage());
            ex.printStackTrace();
            oUsuario.setText(""); 
            oSenha.setText("");
            labelErro.setText(ex.getMessage());
        } /*catch (SQLException ex) {
            labelErro.setText("Usuário e Senha Inválidos!");
            oUsuario.setText(""); 
            oSenha.setText("");
        }*/
        
}
L

posta o código pra gente ver se acha o problema

Tche

postei!

jopss

Ou eu estou vesgo ou parece ok… a nao ser pelo fato de vc usar Sql ao inves de Statement… nao pode ser?? Sql é uma classe sua?? Se nao, nao tinha visto esta implementacao ainda… A saida output nao mostra nada??
Tente debugar ou colocar alguns System.out.println(“passou 01”) no meio do codigo… dae vc verifica depois onde parou e ocorreu a excecao…

jopss :stuck_out_tongue:

Tche

Sql é uma classe…

Nela tenho os códigos SQL que envio e chamo as Stored Procedure que preciso…

O problema de debugar utilizando o System.out…

é que isso ocorre na máquina do cliente onde não tenho uma IDE

Marky.Vasconcelos

Roda através do console e coloque e.printStackTrace mesmo invés de apenas e.getMessage e veja o que está acontecendo.

Marky.Vasconcelos

E esssas Stored Procedures estoa no banco de dados do cliente também?

B

e.getMessage não retorna mensagem?

Isso tá cheirando a Exceção customizada em qualquer uma dessas classes dentro do try, as classes do Java mesmo sempre retornam uma mensagem significativa.

Sem chances de log do stacktrace?

Tche

Sem chance…

Não está trazendo nada…

Rodar no Console que você diz seria rodar via área de texto???

Famoso cmd do Windows???

Criado 6 de maio de 2008
Ultima resposta 7 de mai. de 2008
Respostas 19
Participantes 5