DEV Community

Três recursos das exceções adicionados recentemente

  • A partir do JDK 7, o tratamento de exceções foi expandido com três novos recursos: gestão automática de recursos, multi-catch e relançamento mais preciso.

  • Multi-catch permite capturar várias exceções com a mesma cláusula catch, evitando duplicação de código.

  • Para usar o multi-catch, especifique uma lista de exceções separadas por | na cláusula catch. Cada parâmetro é implicitamente final.

  • Exemplo de uso: catch(final ArithmeticException | ArrayIndexOutOfBoundsException e) para capturar ambas as exceções com a mesma cláusula catch.

Image description

  • O programa gera uma ArithmeticException ao tentar dividir por zero e uma ArrayIndexOutOfBoundsException ao acessar um índice fora dos limites do array. Ambas as exceções são capturadas pela mesma cláusula catch.

  • O recurso de relançamento mais preciso restringe o tipo de exceção que pode ser relançado para:

  • 1 Exceções verificadas lançadas pelo bloco try.

  • 2 Exceções não tratadas por uma cláusula catch anterior.

  • 3 Exceções que sejam subtipo ou supertipo do parâmetro.

  • O parâmetro no bloco catch deve ser final para usar o relançamento final, o que significa que ele não pode receber um novo valor dentro do bloco catch. Isso pode ser declarado explicitamente, mas não é obrigatório.

Top comments (0)