Damiao_Cunha 17 de jul. de 2010
pq o throw ele não trata…ele LANÇA uma exceção…
itendeu a diferença…
try{ }catch{} , vc trata…
e o throw voce LANÇA…
vlw
andredecotia 17 de jul. de 2010
oi cara, como vai?
gostei da pergunta, veja a minha primeira resposta:
aqui vc tá criando uma exceção sua, veja bem que sua classe está estendendo:
public class SuaPropriaExcecaoException extends RuntimeException {
public SuaPropriaExcecaoException () {
super ( "O valor digitado 0 (zero) não é válido." );
}
}
aqui vc tá criando um método e tratando com throw new e o nome da exception
public class TestandoTratarExcecao {
void metodoTeste ( int t ){
if ( t == 0 )
throw new SuaPropriaExcecaoException ();
}
}
aqui vc já tá testando a brincadeira sobrescrevendo o construtor
public class ExecutarMetadoTratato {
public static void main ( String [] args ) {
TestandoTratarExcecao t1 = new TestandoTratarExcecao ();
t1 . metodoTeste ( 0 );
}
}
andredecotia 17 de jul. de 2010
preciso sair agora mas quando voltar tentarei responder suas outras dúvidas…
qualquer coisa me passar uma mensagem…
AS
wanderson.sg 18 de jul. de 2010
Eu sei que throw lança uma exceção!!!
O que eu queria entender é por que no try/catch do método teste2,
eu não preciso tratar a exceção lançada pelo método teste(), e sim
apenas a lançada pelo metodoQuePodeLancaTeste2Exception();
Obrigado!
Att,
Wanderson Carvalho
LPJava 18 de jul. de 2010
para entender tratamento de excecoes tem que viajar um pouco, dar uma olhada nesse meu post: http://camilolopes.wordpress.com/2009/02/04/tratamento-de-excecoes-em-java/
e tem esse mais pratico: http://imasters.uol.com.br/artigo/11674/java/tratamento_de_excecoes_na_pratica/
sem o entendimento do funcionamento a pratica fica bem dificil de pegar.
flw.