Exception desconhecida!

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á!!!

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á!!!

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

jopss :stuck_out_tongue:

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

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:

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.

é 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…

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:

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

poste o codigo

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…


 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("");
        }*/
        
}                                           
    

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

postei!

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:

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

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

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

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?

Sem chance…

Não está trazendo nada…

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

Famoso cmd do Windows???