1
resposta

Porque instanciar várias vezes da classe Throwable?

Em exceções, porque há várias instâncias da classe Throwable se não nada de implementação além do construtor? não seria mais ágil pegar diretamente de lá as informações? e porque uma classe instanciada direta da classe Exception gera uma exceção checked?

1 resposta

Olá Jade,

A classe Throwable é a superclasse de todas as exceções em Java. Ela é usada para representar qualquer tipo de exceção que possa ocorrer durante a execução de um programa. Cada vez que uma exceção é lançada, uma nova instância da classe Throwable é criada para representar essa exceção específica.

Embora possa parecer mais ágil pegar diretamente as informações da exceção, instanciar uma nova classe Throwable é importante porque permite que você tenha informações mais detalhadas sobre a exceção que ocorreu. Por exemplo, a classe Throwable possui métodos como getMessage() e printStackTrace() que permitem que você obtenha informações sobre a exceção, como sua mensagem de erro e a pilha de chamadas que levou à exceção.

Quanto à sua pergunta sobre a classe Exception, ela gera uma exceção checked porque é uma subclasse direta de Throwable. Isso significa que qualquer exceção que é uma instância de Exception (ou uma subclasse de Exception) deve ser tratada explicitamente em seu código ou declarada na cláusula throws de um método.

Espero ter ajudado e bons estudos!