Fala Gordos!

Gostei muito da participação de vocês na primeira parte deste artigo sobre Try/catch/finally, bom deu pra ver que o assunto rende muito. Bom nos comentários do último post, o pessoal já queria sair lançando excepções com um throw isso é bom, mais a intenção não era bem mostrar Exceptions, até porque se formos falar disso eu posso fácilmente escrever um livro( não que eu seja bom, mais é que o assunto é grande, muito grande para ser sincero).Bom mais vamos aproveitar o gancho e mecher com ArithmeticException e lançar uma excepção para deixar mostrar um erro bonitinho!

Bom “let’s go, baby!”, vamos analizar o código abaixo:


package principal;

public class Estudos {

public void dividir(int n1,int n2){
//O método dividir está recebendo dois inteiros

try{
//Vamos entrar aqui no bloco try, bloco da tentativa, onde ele vai tentar fazer tudo que tem para fazer

double resultado = n1/n2;
//Aqui ele vai fazer a divisão sem mistério até agora.
System.out.println("Resultado da divisão: "+resultado);

}catch(ArithmeticException a){

a = new ArithmeticException("Desculpe, mais você tentou fazer uma divisão por zero!");
System.out.println(a);
}finally{

System.out.println("Obrigado por visitar o gordo");

}

}

}


Bom esse programa, trataria diretamente com o usuário com o usuário e nós(garoto de programas) sabemos que o usuário tem super poderes para descobrir e fazer coisas idiotas que nós nunca pensariamos na nossa vida. Bom neste nosso programinha acima o único erro possível(que eu vejo) seria o usuário mandar dividir por 0(zero), eu particularmente não gosto do jeito que está feito, mais por fim de apredizagem vamos lá, Como o falado anteriormente o Try é a tentativa, O Catch é onde eu vou ajeitar a bagunça ou no caso acima avisar o usuário da sua incapacidade de pensar, ou da capacidade dele de ficar perdendo tempo testando o meu programa.

Finally – Um cantinho especial para ele, bom tem gente que adora usa o finally para limpar a sujeira também, mais não uma sujeira causada por falha, o finally costuma ser muito usado para fechar uma conexão com o banco, resumindo para limpar memória. Gente o finally não tem nenhuma função anomal, ele é simples. Ele vai ser executado sempre, independente se ocorrer tudo certo com o try, ou se entrar no catch, o finally não está nem aí, ele vai ser executado de qualquer maneira.
Pense em coisas que você vai querer fazer independente do sucesso da execuçaõ do programa ou não, então é por aí mesmo fechar uma conexão com o banco de dados essas coisinhas.

Resumindo toda a ópera:

try – onde vai ocorrer a tentativa.
catch – onde vamos exibir e tratar error.
finally – sempre será executado,independente da situação.

Bom pessoal, eu espero que eu tenha conseguido explicar oque eu queria, não entrei muito excepções porque o foco era try/catch/finally mais futuramente posso aprofundar um pouco mais, quem sabe!

Abraço do gordo! (seria plágio?)