Captura de erros em Java

Muitos dos exemplos de código Java que você encontra para fins de aprendizagem irá incluir interceptação de erro

neles. Os exemplos não vai enterrá-lo na interceptação de erro, mas eles vão fazer técnicas de boa Erro véu parte do código da aplicação, sempre que possível (e o véu de erro código não esconder completamente o propósito do exemplo).

Com isto em mente, as seções a seguir fornecem uma visão geral das técnicas utilizadas para capturar erros. Você verá três níveis diferentes de interceptação de erro comumente empregado em aplicações Java.

interceptação de erro é o ato de detectar uma exceção e dizendo o JRE que você pretende fazer algo com ele. O JRE responde por não passar o erro até o chamador do método atual e, em vez depende de o método atual para corrigir o problema.

interceptação de erro é normalmente associada com a porção tentativa de um try ... catch, enquanto manipulação de erro é normalmente associada com a parte de captura de um try ... catch.

manipulação de erro opcional

a frase # 147 opcional manipulação # 148- erro é um pouco de um equívoco. É opcional apenas porque Java não requer que você execute-o como parte de usar os vários objetos em sua aplicação. Cada aplicativo construído deve incluir algum nível de tratamento de erros, mesmo que Java não exige que você adicioná-lo.

Na verdade, a adição de tratamento de erros para cada aplicativo que você criar, até mesmo aplicações de teste simples, vai ajudá-lo a se tornar proficientes neste aspecto da programação Java e colocá-lo à frente de desenvolvedores que não seguem esta prática.

tratamento de erros é o ato de resolver uma exceção que o aplicativo foi preso. Em alguns casos, a manipulação do erro significa exibir uma mensagem para o usuário e pedir uma correção. No entanto, o tratamento de erros pode assumir muitas formas, alguns deles completamente automatizado e invisível para o utilizador. Este ato é normalmente associada com a parte de captura de um try ... catch.

Lidar com mais específica para erros específicos-less

A maioria das aplicações pode gerar mais de uma exceção. Além disso, você pode não ser capaz de detectar com precisão quais as exceções um aplicativo irá gerar. Neste caso, você precisa fornecer várias cláusulas de captura para a instrução try ... catch. Cada cláusula catch é especializada em um determinado tipo de erro.

Além disso, você pode usar manipuladores de exceção genéricos para aquelas situações quando seu aplicativo encontra erros que não estão dentro do conjunto que o inicialmente previsto.

Usando objetos opcionais para evitar exceções

De todas as exceções que você pode ver quando se trabalha com Java, o NullPointerException (ou NPE) é a mais prevalente e, por vezes, o mais difícil de diagnosticar. A NullPointerException acontece qualquer momento que você passar um valor nulo para uma função Java que estava esperando um valor real. O problema é que nem todas as situações que cria um NPE é realmente um problema.

Às vezes você espera ter um valor nulo ocorrer e precisam de algum método para lidar com ele. Por exemplo, considere a situação onde você quer encontrar um valor específico em uma lista de valores possíveis. É inteiramente possível que você não vai encontrar o valor desejado, resultando em um retorno de valor nulo.

Se você, em seguida, tentar processar o valor nulo, você recebe um NPE. Porque você esperava valores nulos para ocorrer, encontrar o erro pode ser terrivelmente difícil.

Até agora, era difícil para os desenvolvedores humanos para compreender o pensamento preto-e-branco de um computador. Java 8 agora fornece objetos opcionais para lidar com a situação em que um valor de retorno de uma função é opcional em vez do que o necessário.

menu