Hierarquia de Exceções e Bloco Try Catch

2 respostas
adriano_si

Olá pessoas, tudo bom com vocês ??

ontem estava fazendo um MaskFormatter numa classe pessoal que extende de JFormattedTextField, o mesmo lança uma ParseException… na hora de capturar caí na besteira de fazer :

try {
       MaskFormatter mascara = new MaskFormatter();
       ...resto do código aqui...
}catch(ParseException pe){
       pe.printStackTrace();
}

tudo isso fora de um método… e o mesmo não estava dando certo…

joguei dentro de um método defineMetodo()

public CampoString(){
   try{
   this.setFormat(this.defineMascara());
   }catch(ParseEsception pe){
   pe.printStackTrace();   
   }
}

public MaskFormatter defineMetodo() throws ParseException{
    MaskFormatter mascara = new MaskFormatter();
       ...resto do código aqui...
}

Minha pergunta é: posso tratar a ParseException já no método sem passar adiante ??? se sim… alguém tem alguma dica de como posso perceber quando é pra passar uma exceção adiante ou quando é pra tratá-la ???

Se ao invés de passar um ParseException eu passasse só uma Exception ??? iria tratar corretamente ???

Confesso que realmente fiquei perdido no assunto ontem a noite…

Agradeço qualquer ajuda… 8)

2 Respostas

ViniGodoy

Tá na hora de ler:
http://blog.caelum.com.br/2006/10/07/lidando-com-exceptions/

Marcio_Nogueira
Caso queira capturar exceções diferentes, as mais específicas devem vir primeiro, a mais genérica por ultimo.

EX:

try{

}catch(SQLException){

}catch(IOException){

}catch(FileNotFoundException){

}catch(Exception){

}

finally{

}  <img src="https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/w.pngink.png?v=9" title=":wink:" class="emoji" alt=":wink:">
Criado 15 de janeiro de 2008
Ultima resposta 16 de jan. de 2008
Respostas 2
Participantes 3