Ir para conteúdo

[Java] Try, Catch e Finally


TequilAxBr

Posts Recomendados

O bloco Try e Catch

 

Muitas pessoas tem dúvidas em relação ao try, catch, de quando usar, como usar e para que servem.

Você pode tratar os erros usando o try e o catch, caso você use ele não irá parar sua aplicação Java e irá prosseguir, independente se der ou não erro. Existem várias RuntimeExpection, as próprias do Java(NumberFormatExpection, NullPointExpection, Expection e várias outras) e também existem as que você mesmo pode criar em seu projeto(isso não é o foco desse tutorial, é apenas uma curiosidade), sempre que você possuir um Try, obrigatoriamente você terá um catch.

Pense assim(um jeito bem tosco, mas da para entender):

O try irá tentar fazer a ação dentro dele, caso dê erro, ele irá realizar o que está dentro do catch.

Exemplo de uso usando a RuntimeExpection do tipo NumberFormatExpection:

		String analisar = "Vai dar problema.";
		try{
			Integer.parseInt(analisar);
			System.out.println("A string informada é um número.");
                        //ou seja, código a ser executado
		}catch(NumberFormatException e){
			System.out.println("A string informada não é um número.");
			//existem métodos para pegar o erro e etc..
                        //tratamento da exceção
		}

É mais ou menos isso, expliquei bem por cima, procure mais a respeito no google, vale a pena.

 

O bloco finally

 

Ele sempre será o ultimo a ser executado, normalmente usado para informar uma log ou algo relacionado.

Ou seja,  independente de rodar ou não o finally será executado.

Exemplo:

		String analisar = "1";
		try{
			Integer.parseInt(analisar);
			System.out.println("A string informada é um número.");
		}catch(NumberFormatException e){
			System.out.println("A string informada não é um número.");
		}finally {
			System.out.println("Finally");
		}

Caso queira saber mais, acesse: Java - Try, Catch e Finally

Editado por TequilAxBr
Link para o comentário
Compartilhar em outros sites

Ótimo tutorial.

Eu posso deixar o finally vazio ou tenho que botar algo nele?

 

Você não precisa colocar o finally no code caso você não for utiliza-lo.

 

@Topic

 

Achei bem interessante e informativo o tópico!

 

Uma dica é não utilizar Try para qualquer coisa..., o Try não impede que um erro aconteça, apenas impede que ele seja mostrado na tela.

 

Extra: tem uma função na biblioteca do apache que faz a mesma função de um jeito melhor(NumberUtils.isNumber).

Editado por Krash0 is Alive
Link para o comentário
Compartilhar em outros sites

Você não precisa colocar o finally no code caso você não for utiliza-lo.

 

@Topic

 

Achei bem interessante e informativo o tópico!

 

Uma dica é não utilizar Try para qualquer coisa..., o Try não impede que um erro aconteça, apenas impede que ele seja mostrado na tela.

 

Extra: tem uma função na biblioteca do apache que faz a mesma função de um jeito melhor(NumberUtils.isNumber).

Ahh, obrigado. 

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...