Índice
Embora o processo de capturar exceções e evitar que o usuário presencie um desligamento irregular do sistema seja simples de fazer, também é verdade que quando há vários tipos de exceções, às vezes gostaríamos de saber um pouco mais sobre elas.É por isso que Java Permite-nos obter informações sobre a exceção, ou seja, uma vez ocorrida podemos saber mais detalhes do que apenas o seu tipo, com isso podemos implementar diferentes ações ou simplesmente saber o que acontece.
Execução obrigatóriaÉ importante mencionar que também existe um caso muito comum e que há códigos que precisamos executar de qualquer maneira, pode ser o caso de um sistema de Registro que registra todas as ações, ou algum módulo de segurança, para este Java nos oferece a palavra reservada finalmente.
Como mencionamos no início do tutorial, obtenha o informação de exceção É possível e sem a necessidade de analisar o seu tipo, pois uma mesma exceção contém dados diferentes que nos darão uma ideia do que está acontecendo.
Para isso contamos com diversos métodos, vejamos a seguir os mais destacados para saber com o que podemos contar:
getMessage ()Este método nos permite obter a mensagem que carrega a exceção.
para sequenciar ()Ele retorna uma string com uma concatenação entre o nome da exceção e o resultado do método getMessage ().
printStackTrace ()Imprime o objeto na tela com todo o seu conteúdo.
getStrackTrace: StackTraceElementEste último método retorna um array contendo as informações do erro ou exceção.
Vamos ver na imagem a seguir como a aplicação desses métodos se parece:
Agora é a vez da palavra reservada finalmenteComo mencionamos, há momentos em que queremos executar uma parte do código de qualquer forma, para isso temos essa palavra que ela nos oferece Java e seu funcionamento é simples, incluindo-o em uma estrutura tentar - pegar conteúdo que é colocado em um finalmente bloquear ele sempre será executado.
Para criar a estrutura disso, podemos seguir o seguinte padrão que vemos na imagem:
Existem algumas considerações que devemos saber quando trabalhamos com este tipo de estrutura, vamos ver quais são:
- Se nenhuma exceção ocorrer no tente bloquear {} o código que colocamos no finalmente bloquear vai ser executado e, em seguida, nosso programa continuará.
- Se ocorrer uma exceção no tente bloquear {} sua execução irá parar e então o catch () block {}, finalmente, o finalmente bloquear {} e o seguinte código de programa será executado.
- Se ocorrer uma exceção que não seja tratada, o finalmente bloquear ele será executado da mesma forma e a exceção será enviada a ele.
- O finalmente bloquear será executado mesmo se houver uma linha com retorno antes do finalmente bloquear.