Tratamento de erros no java "URGENTE"

4 respostas
mja_marcelo

E ai galera… é meu primeiro post no site…

Bom, estou desenvolvendo um projeto pra faculdade que envolve uma distribuidora de pedidos… enfim…

estou utilizando o padrão MVC e uso o Struts na camada de controle…

bom, o projeto está dividido assim:

Camada de Modelo: Classes Cliente, Produto e Vendedor (por enquanto)
Camada de Controle: Classes que herdam ActionForm e Action do Struts
Camada de Visualização: Páginas JSPs

Nas classes da camada de modelo (Ex. Cliente), existem um construtor que por sua vez tem um tratamento de erro para SQLException…

Ou seja, toda vez q eu instancio a classe (Ex. Cliente), ela deve ser tratada para a exceção SQLException…

até ai td bem… eu uso um bloco try e blz

so que pelo q eu estudei na apostila da Caelum, na camada de controle, utilizando o Struts, eu crio uma classe q herda ActionForm e nela eu instancio a classe do modelo (Ex. Cliente).

ai é q tá… como eu falei, qdo eu instancio a classe do modelo, eu devo tratar a exceção SQLException. Só q não dá pra utilizar o bloco try pois a instanciação está na classe e não em um método da Classe…

O que eu queria saber, é, se tem algum outro comando pra tratar erros fora de um metodo da classe, ou seja, apenas na classe sendo q o try e o throws não funcionam

desde já agradeço

valeu

até mais!!!

4 Respostas

cv1

Cara, acho que vc viajou um pouco na maionese - nao existe bloco de codigo que possa jogar uma excecao que nao esteja dentro de um metodo, construtor ou bloco estatico, e em todos eles vc pode usar try/catch. :wink:

mja_marcelo

cara, da uma olhada no código…

package struts.form;

import java.sql.SQLException;

import org.apache.struts.action.;
import cadastros.
;

public class ClienteForm extends ActionForm {

try {
	private Cliente cliente = new Cliente();
}catch (SQLException e) {
	System.out.println("Deu pau!!!");
}	
		
public Cliente getCliente() {
	return this.cliente;
}

}

o try não ta funcionando deste jeito… tem algo de errado???

cv1

Depende do que o construtor de Cliente faz - mas de qqer forma, isso nao eh “tratar” uma exception, eh ignorar o erro. Se essa SQLException acontecer, o atributo cliente vai continuar null, e dai ja viu. :wink:

mja_marcelo

Cara, o construtor de Cliente é esse:

public Cliente() throws SQLException {		

this.conn = ConnectionFactory.getConnection();

}

da uma força aí… sou iniciante
mas… como eu faria para tratar realmente o erro???
desde já agradeço… valeu!!!

Criado 21 de novembro de 2006
Ultima resposta 23 de nov. de 2006
Respostas 4
Participantes 2