| Você
está aqui:
Inicio
-> Dicas e Truques
->
Java ->
Aprenda a tratar erros em Java usando o bloco try...catch |
Aprenda a tratar erros em Java usando o bloco try...catch |
|
|
Esta dica foi visualizada
31854 vezes |
Url reduzida: http://www.arquivodecodigos.net/dicas/2133
Categoria:
Tratamento de Erros
Sub-Categoria:
Passos Iniciais [Veja dicas relacionadas]
Aprenda a tratar erros em Java usando o bloco try...catch
A forma mais comum de tratar e se recuperar de erros em uma aplicação Java é usando o bloco try...catch. Todo o código que apresenta a possibilidade de erros ou falhas é colocado em um bloco try. E o código a ser executado caso o erro ou falha aconteça é colocado em um bloco catch. Veja a sintáxe:
Acesso restrito a assinantes |
Parte do conteúdo que você está visualizando está disponível apenas a assinantes do site.
Se você já assinante, clique aqui e faça o login.
Ainda não é assinante? Clique aqui e veja como é fácil se tornar um assinante de nosso site.
Apenas R$
30,00 (Trinta Reais) por 365 dias (1 Ano) de acesso |
A palavra-chave catch é seguida por uma declaração do tipo de exceção sendo lançada. É aqui que entram detalhes interessantes. Antes de tratar um erro, é preciso que você saiba qual erro estará tratando. Em Java temos três tipos de erros: runtime exceptions, checked exceptions e errors. Errors não precisam ser tratados com bloco try...catch, runtime exceptions (erros causados por códigos mal escritos ou mal testados) opcionalmente usam try...catch e checked exceptions (erros que fogem ao controle do programador) devem obrigatoriamente usar try...catch.
Vamos ver um exemplo do uso de try...catch:
Acesso restrito a assinantes |
Parte do conteúdo que você está visualizando está disponível apenas a assinantes do site.
Se você já assinante, clique aqui e faça o login.
Ainda não é assinante? Clique aqui e veja como é fácil se tornar um assinante de nosso site.
Apenas R$
30,00 (Trinta Reais) por 365 dias (1 Ano) de acesso |
Neste trecho de código nós tentamos ler o conteúdo de um arquivo. O que aconteceria se o arquivo não existisse? O programa entraria em colapso. Além disso, todas as operações de entrada e saída (IO) estão suscetíveis a falhas externas. Por esta razão, o compilador nos força a usar try...catch nestas situações.
Neste exemplo podemos ver que o bloco catch é seguido por uma definição da classe IOException. No entanto, este trecho de código pode também disparar a exceção FileNotFoundException. Olhando a documentação vemos que FileNotFoundException herda de IOException, que por sua vez herda de Exception. Isso nos mostra que, se não estivermos certos de qual exceção será lançada, podemos usar a superclasse Exception e usarmos o método getMessage() ou demais métodos para obter maiores informações sobre o erro.
Vamos ver mais um exemplo de try...catch. Desta vez veremos como evitar uma exceção StringIndexOutOfBoundsException:
Acesso restrito a assinantes |
Parte do conteúdo que você está visualizando está disponível apenas a assinantes do site.
Se você já assinante, clique aqui e faça o login.
Ainda não é assinante? Clique aqui e veja como é fácil se tornar um assinante de nosso site.
Apenas R$
30,00 (Trinta Reais) por 365 dias (1 Ano) de acesso |
Compile, execute este código e forneça um inteiro maior que 3 para ver o resultado. |
|
|
|
| |
 |
| Patrocinador oficial: O Digitando 2011 é um dos programas para a prática de digitação mais usados no Brasil. É o preferido das franquias DATA BYTE, Microlins, MICROCAMP e PREPARA. Faça o download e conheça-o você também. O Digitando é o único no Brasil que permite a execução de músicas e rítmos de bateria enquanto se pratica a digitação.
|
| Veja mais Dicas & Truques na sub-categoria:
Passos Iniciais
|
|
|
| Veja mais Dicas & Truques de
outras linguagens |
|
|
|
|
 Você está precisando de freelance para ajudá-lo em seus códigos?
Meu nome é Osmar J. Silva. Sou criador deste site, programador e atuo como freelancer desde 2001.
Minha especialidade é C/C++. Mas posso ajudá-lo em Java, Delphi, PHP, Python, Ruby, Qt, wxWidgets, MySQL e algumas outras linguagens e ferramentas. Clique aqui e fale comigo por telefone, e-mail ou MSN. |
|