Uso de exceção não checada

1 resposta
R
Pessoal, vejam se fiz um bom uso da exceção. Acho que nesse caso o ideal seria não checada mesmo.
/**
 * Essa superclasse controladora  pode ser utilizada para controlar visões que 
 * implementam a interface PainelTabela.
 * @throws IllegalStateException se a visão não implementar a interface PainelTabela.
 */
public abstract class ControladorEdicaoPainelTabela extends ControladorTelaEdicaoPadrao {

	public ControladorEdicaoPainelTabela(Window owner) throws IllegalStateException {
		super(owner);
		if (visao.getPainelTabela()==null)
			throw new IllegalStateException("Essa classe controladora só pode controlar visões que " +
					"implementam a interface PainelTabela.");
		visao.getPainelTabela().setAdicionarListener(criarAdicionarListener());
		visao.getPainelTabela().setExcluirListener(criarExcluirListener());	
	}

1 Resposta

T

soh alguns detalhes: a parte do javadoc que fala da excecao deve estar no javadoc do metodo e nao da classe…
fora isso, achei estranho:

if (visao.getPainelTabela()==null)
 throw new IllegalStateException("Essa classe controladora só pode controlar visões que " +
 "implementam a interface PainelTabela.");

testar ou nao a implementacao de uma interface eh feita pelo operador instanceof quando vc sabe a classe em tempo de execucao (como eh o seu caso)…

Criado 24 de agosto de 2005
Ultima resposta 26 de mar. de 2006
Respostas 1
Participantes 2