Botao cadastrar >>>> chama classe cadastro >>>> que chama a classe conexao, retornando a conexao ou o erro >>>> que a classe cadastro insere se for sucesso mas retorna o erro para o botao se a conexao falhar.
Agradeco muito sua ajuda Abner mas eu nao quero copiar codigo quero mesmo aprender 100% cada linha do que estou fazendo e nessa classe que voce mandou existem coisas que eu nem usei ainda fora o metodo de conexao que essa classe usa apesar de ser o mesmo ele usa uma forma diferente com esse :
System.setProperty(“jdbc.Driver”, driver);
Gostaria mesmo de continuar da logica que estou fazendo pois nao me sinto ainda preparado para mudar a forma que estou fazendo, vai me causar uma confusao terrivel
mas eu percebi que voce usou "SQLException " no tratamento do erro no metodo de conexao, ele e usado pra tratar o erro que citei tambem? tentei usar mas me da o seguinte erro:
Não precisa copiar o meu código, mas lê a descrição dos métodos, vai te fazer entender melhor.
Ao invés de jogar o try catch da conexão pra dentro do método, porquê não deixa dentro da classe de conexão mesmo? O código vai ficar bem mais legivel.
Não precisa passar todos as variaveis pra dentro do método, deixa elas como globais (fora do método).
Sobre o erro que você falou, se você joga o Exception, você captura todos os erros, independente se for SQL, Null, IO, FileNotFound... enfim, pega todos.
Agora se você usa SQLException, você está querendo capturar apenas o erro do SQL, se quiser usar o Class.forName, tem que usar setar o ClassNotFoundException.
Percebi tbm que vc está usando static pra tudo, cuidado com o uso dele, pode prejudicar a memória da sua aplicação.
Gratissimo por tudo inclusive tirei o static de alguns pontos e utilizei o try catch na conexao :
Agora so nao entendi quando voce disse :
Agora se você usa SQLException , você está querendo capturar apenas o erro do SQL, se quiser usar o Class.forName, tem que usar setar o ClassNotFoundException .
Amigo, manda o código por gentileza, não manda a imagem.
Se você está esperando um retorno de um erro relacionado ao banco de dados, geralmente se usa o SQLException, até o erro de que não foi possivel estabelecer uma conexão com o banco.
Agora vamos usar seu exemplo, você quer usar o Class.forName();, nossas IDE’s são inteligentes, elas já supõem que se você for usar esse método, você pode ter um erro de classe não encontrada, exemplo, você setou driver, pode acontecer de isso nem existir, então seu programa ia crashar e você nem saberia o porquê. Então você precisa usar a exception ClassNotFoundException.
Agradecido ajudou bastante no meu problema inclusive gostei muito do multi-catch nunca tinha o visto, me poupou algumas linhas de codigo e isso e sempre bem vindo rs, vllw Abner <3