Exceções - duvida séria com elas. MyExc extends Exception

2 respostas
MrDataFlex

Pessoal, possuo uma classe:

MyExc extends Exception

PQ MyExc não tem o mesmo valor de Exception, quando eu uso:

try { } catch(MyExc e) { } //DA PAU, PQ DIZ QUE NUNCA LANÇARA A MYEXC, JÁ COM Exception funciona! :(

2 Respostas

M

ué, é só prestar atenção na estrutura de herança de exception.
Quando você cria uma instancia da sua classe ae MyExc vc não pode fazer downcast implícito? A mesma coisa acontece nas cláusulas catch, ela tenta fazer downcast para o tipo que você declara no catch, como Exception é pai de todas as exceptions checadas (tirando as de RuntimeException) ela faz isso automaticamente.
E você está lançando a sua classe de excessão em algum método chamado dentro do try?

W

voce colocou o throw no metodo que voce quer que circunde com try catch???

por exemplo voce fez uma excessao chamada CampoEmBrancoException ai tem la o metodo :

public String getCampo() throws CampoEmBrancoException{

if(campo.getText().equalsIgnoreCase(""))

throw new CampoEmBrancoException(O Campo está em branco)


}
acho que é isso ai quando voce for usar o metodo getCampo(). voce vai ter que circundar com try-catch…

flw espero ter ajudado…

Criado 20 de novembro de 2007
Ultima resposta 20 de nov. de 2007
Respostas 2
Participantes 3