Custo de exceções em Java

Índice
Embora o uso de exceções represente uma melhoria em nossos programas escritos em Java, nem sempre serão necessários, pois têm um custo muito importante em um nível de desempenho, por isso devemos aprender o que significa construir um bloco de tratamento de exceções em nosso programa, desta forma podemos saber se o custo é menor que o benefício que isso nos trará.
Afinal, sabemos que nossos programas também devem manter um desempenho adequado, pois um programa ou aplicativo que sofre de lentidão é menos amigável no uso, gerando desconforto para os usuários.
Como indicamos no início, construir um bloco que tenha a capacidade de lidar com exceções representa um custo no nível de desempenho em nosso programa, isso ocorre porque quando temos um bloco de tratamento de exceção um objeto é gerado para esta tarefa, você também tem que fazer uma corrida para trás do pilha do programa e, finalmente, a exceção deve ser propagada por meio de vários métodos do objeto.
Isso deixa muito claro que o Desempenho serão afetados, pois por mais recursos que tenhamos, este processo consumirá grande parte deles, exceções ocorrem quando os lançamos em um método, portanto se pudermos evitar que a exceção seja lançada salvaremos todo o procedimento.
Uso de exceçõesAs exceções deve realmente ser usado quando há condições imprevisíveis que podem ocorrer e que não podemos prever em nosso programa, mas casos como uma variável vazia ou uma divisão por 0 para dar exemplos básicos podem ser tratados sem a necessidade de usar um tentar - pegar o bloco.
Vejamos no exemplo a seguir um caso básico em que resolvemos um problema com e sem exceções:

Neste primeiro caso vemos como tentamos imprimir uma variável que estamos carregando para String, se for nula ocorrerá um problema, portanto a colocamos em um tentar - pegar e, portanto, nosso programa não deve fechar abruptamente, no entanto, este problema é muito simples, portanto, use um bloco de tratamento de exceção Isso vai nos custar mais do que o problema que está tentando resolver. Vamos ver como podemos lidar com isso de outra maneira:

Aqui podemos ver como saímos do problema simplesmente perguntando antes de imprimir se a variável não é nula, caso seja, imprimimos uma mensagem indicando isso e, assim, evitamos que ocorra uma exceção ao tentar convertê-la para String.
Embora esses casos sejam extremamente simples, o fato é que decidir quando usar o tratamento de exceções e quando não, é uma questão de cada programador, no entanto, quando queremos implementá-los, devemos nos perguntar se podemos evitar que isso aconteça usando nossa lógica, afinal, cada programador tem uma ideia diferente.
Com isso encerramos este tutorial, já devemos ter uma ideia mais clara do que significa o uso de exceções e seu real impacto em nossos programas, pois embora possam nos ajudar, também podem prejudicar o desempenho se abusarmos em muitas situações de elas.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave