[RESOLVIDO]Erro com a conexao do banco de dados

Como faço para obter a id do erro quando ele cair no catch? seria um erro de conexão quando cair a conexao e o usuario for fazer qualquer coisa eu gostaria que
o programa aparece-se uma msg e caisse!, alguem tem alguma ideia?:?

Trata a Exception pra retornar um ID. Você vai ter que criar uma lista de erros e correspondê-los aos seus ids.

Não sei se é a melhor opção, mais é parecida com a do (jaboot).

Faz um teste com o erro que o catch irá retornar para cada tipo de problema, com isso gere uma comparação com um simples abreviamento para em vez de aparecer um erro grande para o usuário, aparecer somente um “Falha na conexão.”

Acho que a comparação e o abreviamento, dá para fazer com um simples If.

E como faço pra pegar a id do erro?

Se estiver falando de SQLException, tem o método getErrorCode(), mas fique atento a isso: “Retrieves the vendor-specific exception code for this SQLException object.” - retirado da documentação em http://docs.oracle.com/javase/6/docs/api/java/sql/SQLException.html
que eu entendo que vai retornar um ID que é específico do banco de dados que estiver usando. Dois SGBDs diferentes podem eventualmente usar o mesmo ID para erros diferentes…

ADEMILTON está certo, alguns codes de erros retornam iguais… mais acho que isto é de forma associada ao outro erro. Então um erro gerado por falha na localização do servidor, se for o mesmo de outro, seria similar a isto, onde o sistema não encontrou o BD.

Então gente eu queria mais algo parecido assim, a hora que o erro cair no catch e eu verificar que foi este erro : java.sql.SQLException: com.informix.asf.IfxASFException: Attempt to connect to database server (prdsoc) failed.
ID do erro = -79716
O meu programa se fecharia, alguem tem alguma ideia, de como eu posso centralizar isso deu este erro eu chamaria uma beans e essa beans mandaria pra algum lugar que verificaria se o
código do erro e aquele se fosse fecharia, seria isto ou estou viajando?

Este negocio de fechar o programa inteiro quando dá algum erro, eu acho meio incomodo.

Mais se você tem um ID correto deste erro, acho que daria para fazer assim:

Faça um método para sempre que der o erro, ele pegar a ID e joga-la em uma variavel (Ex: Erro_code)
Como você possui a ID correta do erro, já poderia deixar uma variável com essa ID cadastrada no programa.
Depois fazer uma comparação nas duas, onde se igual… o programa fecha.

Algo parecido com isto:

int ID_start = 55855 //Id já cadastrada no programa.

//Dentro do catch, ficaria o seu método que pegaria o ID do erro que está ocorrendo, e também a comparação.
Try{
   //Código
}catch("Exception" ex){
   int erro_code = pegarCodigo();    //Busca faz a busca do código do erro que ocorreu e salva na variável "erro_code".
   if(erro_code == ID_start){     //Faz a comparação com o código cadastrado, que acho que no seu caso deve ser o de bd não localizado.
        Finalizar Programa();     //Finaliza o programa.
   }else{
       JOptionPane.showMessageDialog("Ocorreu um erro diferente."); //Somente para agilizar a compreensão, se o erro não for exatamente o esperado.
   }
}

Bom, tente usar esta dica somente como termo lógico… criei mesmo só para o seu entendimento.

Bom dia , kelvinoenning , então o meu problema está sendo mais como que eu vou fechar o meu ‘pai’, pois em todos meu update, select e insert, devera ter o que você disse, de captar o id do erro
e depois fazer a comparação se é igual ou não, se for executa um metodo para finalizar o programa so que eu tenho um JinternalFrame dentro de um JdesktopPane que estão dentro de JFrame…
E não estou conseguindo dar o this.dispose(); pois eu teria que estar com o ‘pai’ salvo para fechar ele e não criar um novo… E eu teria que fechar meu programa como disse acima em se toda pesquisa, insert, delete, update cair dentro do catch e for true a minha comparação, o programa deverá ser fechado. será que vocês entenderam o meu problema ou não?

Obrigado

hããã… tipo… nesse caso um System.exit(0); resolve ?

rsrs deu certo cara, esse system.exit serviu rs, o que ele faz exatamente eu so fala pro windows killar o programa?

De acordo com a documentação: “Terminates the currently running Java Virtual Machine”

http://docs.oracle.com/javase/6/docs/api/java/lang/System.html

e bora botá [RESOLVIDO] !!

Obrigado a todos que me ajudaram…