Oque é Exception

try{ mascaracep = new MaskFormatter("#####-###"); mascaratel = new MaskFormatter("(##)####-####"); mascaracpf = new MaskFormatter("#########-##"); mascaradata = new MaskFormatter("##/##/####"); mascaracep.setPlaceholderCharacter(?_?); mascaratel.setPlaceholderCharacter(?_?); mascaracpf.setPlaceholderCharacter(?_?); mascaradata.setPlaceholderCharacter(?_?); } catch(ParseException excp){}

Esse código acima serve para previnir uma Eception, más fiquei com muitas duvidas sobre o que seria Exception o como e quando tenho que usar, e para que serve o comando cath nesse exemplo?

Explicar o que é uma Exception é um pouco complicado. Basicamente falando uma exception é uma ocorrência anormal que afecta o funcionamento da aplicação(normalmente provoca saída). Suponhamos que queres fazer um programa que efectue divisões, algo assim:


class divisao {

public static void main(String args[]) {

int a = 2; 
int b=3;

System.out.println(a/b);
}
}

Até aqui tudo bem, não há nenhuma anormalidade. Agora imagina que por alguma razão o b seria zero:

int a = 2;
int b = 0;

System.out.println(a/b)

Aqui estamos perante uma situação impossível, porque não se pode dividir por zero e isso vai gerar uma exception que vai fechar o programa. Para que o programa não feche é necessário “apanhar” essa exception que foi lançada e tratá-la de modo a que o programa possa continuar:


int a =2;
int b =0;

try { 
System.out.println(a/b);
} catch (ArithmeticException e) //aqui ele apanhou a ArithmeticException 
{ //começa o tratamento da excepção
System.out.println("Não pode dividir por zero!");
} //fim do catch
} //fim do try

Penso que este é o exemplo mais fácil de perceber. Mas o melhor é leres apostilas e tutoriais sobre este assunto.

http://www.guj.com.br/posts/list/52909.java
http://www.guj.com.br/posts/list/61611.java

Até!

Eu imprimi este texto:

muita gente pensa que exception é erro, mas não é
como o proprio nome já diz…
é uma excessão que pode ocorrer em tempo de execução da aplicação
muito bom exemplo SrFabio;
se acontece algo inesperado … sua aplicação sera fechada. perndendo tudo o que vc estava fazendo…
com o usso de tratamento de excessões vc imagina todos os casos que pode ocorrer na sua aplicação e torna ela de maneira mais robusta para tratar tudo e evitar que a aplicação se encerre por algum motivo

Exception - sãoi exeções que nao deveria ocorre… mas pode acontecer… tipo… não é válido dividir 7 / 0. Isso lança uma exceção pq nao pode dividir um numero por zero, matematicamente falando(alguns matematicos discorda disso, mas eh outro assunto). Outro caso de Exception, vamos dizer que vc vai trabalhar com arquivos… esqueça o formato deles… vai trabalhar agora com leitura e escrita de arquivos… mais para você armazenar(Escrever) uma informação dentro do arquivo ele deve existir…caso contrario nao tem como vc escrever… entao se o arquivo no existir uma exceção ocorre… mais o catch{} tá ai para tratar essa ação perigoso que está dentro do try{} entao se tudo que estiver dentro do try{} lançar uma exceção o catch{} vai e trata… no exemplo que falei do arquivo… se um try{} lançar uma exceção ai o catch{} pode trata a exceção criando um arquivo caso, ele lançe uma exceção que o arquivo nao existe.

Veja esse exemplo onde tento ler um arquivo que nem foi criado:

....
try{
File f = new File("file.txt");
}catch(Exception e){}

try{
FileReader fr = new FileReader("file.txt");
fr.read();
}catch(FileNotFoundException e){}

percebeu? ai no seu catch vc pode criar um Arquivo caso ele nao exista tipo assim:

catch{ 
File f1 = new File("file.txt");
f1.createNewFile();

espero ter ajudado!.. Mas a essencia de Exceções vc começa a entender futuramente com mais prática… e estudo das apis!!

E os pinheirinhos dos nossos amigos continuam a morrer, sera que o povo nao sabe o que significa a frase PESQUISAR ANTES DE POSTAR?

…(-_-)

Tente esses links:

http://java.sun.com/docs/books/tutorial/essential/exceptions/
http://java.sun.com/docs/books/tutorial/essential/exceptions/definition.html