1
resposta

exceções checked e unchecked

As exceções checked são erro em tempo de debug somente no Java? nao lembro dessa caracteristica em C#, VB.net ou PHP por exemplo

1 resposta

Olá, Rodolfo!

Entendo sua dúvida, é realmente interessante perceber como as linguagens de programação lidam de maneira diferente com as exceções.

No caso do Java, as exceções checked não são erros apenas em tempo de debug, mas sim em tempo de compilação. Isso significa que, antes mesmo de executar o seu código, o compilador Java já verifica se todas as exceções checked estão sendo devidamente tratadas. Caso contrário, ele irá "reclamar" e seu código não será compilado até que você trate essas exceções.

No exemplo da aula, quando usamos o método conn.prepareStatement(), o compilador identifica que este método pode lançar uma exceção do tipo SQLException (que é uma exceção checked), e por isso ele exige que tratemos essa exceção, seja com um bloco try-catch ou com um throws na assinatura do método.

Em outras linguagens, como C#, VB.net ou PHP, esse conceito de exceções checked e unchecked pode não existir ou ser tratado de maneira diferente. Por exemplo, em C#, todas as exceções são tratadas como unchecked, ou seja, o compilador não exige que elas sejam tratadas em tempo de compilação.

Espero ter ajudado e bons estudos!