Exceções

Try/Catch: Origem, Propósito e o Erro de Usá-lo como Fluxo Lógico

tratamento de erros exceções javascript typescript rust clojure boas práticas c++
Entenda quando, por que e para que o try/catch foi criado, e por que ele não deve ser usado como controle de fluxo lógico.

O tratamento de exceções surgiu para separar o fluxo normal do programa do tratamento de situações inesperadas, como falhas de hardware ou erros de entrada/saída. Inicialmente, programas usavam códigos de retorno para lidar com erros, mas isso era propenso a falhas e difícil de manter.

O modelo try/catch foi evoluindo desde os anos 60, ganhando formas mais estruturadas em linguagens como PL/I, Ada, C++ e Java, e depois sendo adotado por outras como JavaScript.

O objetivo sempre foi permitir que programas lidassem de forma controlada com erros imprevisíveis, sem travar o sistema. As exceções não foram criadas para controlar o fluxo normal do programa, mas sim para tratar casos realmente excepcionais. Neste artigo, vamos ver por que usar try/catch como controle de fluxo é um erro e qual é o seu propósito real.

Leia mais →