Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Boa prática

Olá, boa tarde!

Na aula do professor Nico, ele demonstra as duas "formas" que podem aparecer e as explica, porém não comenta qual é a mais indicada. Teria algum post no blog que comente sobre essas "boas práticas" ?

Abraço!

3 respostas

Oie Israel, tudo bem contigo?

Dei uma olhada nas aulas mas não consegui ter certeza de qual assunto você está falando, se for sobre as exceções checked e unchecked temos um artigo no blog da caelum que explica muito bem quando usar cada uma delas, também temos uma ótima explicação na apostila de orientação objetos da caelum. Segue os links:

Caso essa não seja sua dúvida é só me mandar mensagem detalhando um pouco mais que irei te ajudar :)

Bons estudos!

Opa Igor, tudo bem?

Cara, para ser mais direto: Porque herdar de Exception e tonar minha exception checked e ter que explicitar na assinatura se poderia herdar sempre de RuntimeException e não precisar explicitar na assinatura?

Pelo que entendi, no final sempre precisarei trata-las em algum try catch, então ter que colocar nas assintaruas de métodos parece mais custoso.

Abraços!

solução!

Oie Israel, tudo bem contigo?

Esses dois jeitos são necessários, ao usarmos o try - catch, caso aconteça um erro é o programa que vai tratar esse erro e o usuáro muitas vezes nem vai ver que aconteceu, as vezes a exceção acontece em uma classe onde não é possível de ocorrer o tratamento e quando isso acontece usamos o "throws na assinatura", mandando a exceção para uma classe que chama a anterior, e se essa estiver uma posição adequada irá possibitar o tratamento com o try - catch. Muitas vezes também não tem como ser feito o tratamento e nessas situações não há o que fazer se não usar o "throws".

Eu achei diversas discussões em inglês no stackoverflow sobre isso, também achei alguns artigos em português, se te interessar segue os links:

Espero ter conseguido esclarecer sua dúvida, caso não, é só mandar mensagem :)

Bons estudos!