ConnectionFactory -> Tratamento de exceção -> SQLException

2 respostas
A
Por favor, aqui no
throw new SQLException(e);
Como é que eu faço para personalizar uma mensagem amigável para o usuário tipo o Problema Com O Servidor De Banco de Dados ao invés de o Web Container cuspir o lindo maravilhoso simples de decifra Stack Trace? Veja o q tentei, mas não apareceu qdo. fiz um teste com o servidor fora:
throw new SQLException("Problema Com O Servidor De Banco de Dados ");
package br.com.andredecotiaconsulting.agendadecontatos;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectionFactory {
	public Connection getConnection() throws SQLException {
		System.out.println("Problema Com O Servidor De Banco de Dados MySQL. Por favor contate o adminstrador do Sistema.");
		try{
			Class.forName("com.mysql.jdbc.Driver");
		}catch (ClassNotFoundException e){
			throw new SQLException(e);
		}
	return DriverManager.getConnection("jdbc:mysql://localhost/fj21","root", "roodt");
	}
}

2 Respostas

fabiofalci

Trate essa exception, não deixe ela propagar.
Então crie as suas próprias com o tratamento/mensagem adequado.

lelodois

É isto ai… mas isto aqui não deveria estar no fórum de persistência :?

public  class ConnectionFactory {  
     public Connection getConnection() throws MeuNegocioBancoForaException{  
         System.out.println("Problema Com O Servidor De Banco de Dados MySQL. Por favor contate o adminstrador do Sistema.");  
         try{  
             Class.forName("com.mysql.jdbc.Driver");  
         }catch (ClassNotFoundException e){  
             throw new MeuNegocioBancoForaException(e,"O banco está fora velho, vai tomar um café e volta mais tarde.");  
         }  
     return DriverManager.getConnection("jdbc:mysql://localhost/fj21","root", "roodt");  
     }  
 }
Criado 12 de agosto de 2010
Ultima resposta 13 de ago. de 2010
Respostas 2
Participantes 3