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?)








[...] This post was mentioned on Twitter by Thiago Retondar, OGordo. OGordo said: Novo artigo: try/catch/finally – Quando usar? [parte 2] » http://migre.me/fT4t #OGordo [...]
Ficou muito bom, parabéns! Tratamento de exceção é muito útil e recomendado. Agora ninguém tem desculpas de não saber utilizar
Abraço!
Essas duas partes foram bem bacanas ainda não tinha usado try e pelo que vejo é bem interessante…
Bolei de rir… “ou no caso acima avisar o usuário da sua incapacidade de pensar”
Valeu Junior =D
Aee Gordo, valeu pelo tutorial, muito bacana !
Uma coisa que pra voce parece tão simples de explicar, e para nós tão simples de aprender.
Porque os professores tem sempre que usar umas formas tão chatas de explicar as coisas na sala heim ?!
é por isso que só uso livros mesmo e o google. ;D
Abraço.
Varios sites na net explicam o que é try/catch/finally, mas todos explicam de um jeito complicado, essa explicação que você fez é perfeita, espero que continue saindo mais posts sobre java :>
Obrigado pessoal.
=D