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

Quero chorar em posição fetal. Dúvida sobre utilidade throw?

Olá pessoal. Boa tarde. Por gentileza: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeAcho que faltou um pouco de contextualização à aula. Por que o professor abordou esse tema? Por que eu criei um objeto do tipo "ArithmeticException"? Em que situações eu vou querer esse throw?

O que tá na minha cabeça é que o programa estava funcionando e eu fiz quebrar, e eu não entendo o motivo disso. Por que jogar essa tal de bomba?

4 respostas
solução!

Oioi Ian, tudo certo?

Não precisa chorar não, haha. À medida que você for praticando, irá perceber que é útil lançar uma exceção em situações que uma ação não pode, de maneira alguma, ser executada. Por exemplo: ao tentar salvar um CPF inválido de um cliente. Dessa forma, você lança a exceção e trata ela, retornando uma mensagem para o usuário. Você pode argumentar que isso poderia ser resolvido com um if, né? Mas existe uma convenção de que lançar a exceção pode deixar o seu código mais legível, por exemplo.

Nesse Alura+, é explicado sobre o conceito de lançar a exceção sempre rápido, chamado Fail Fast, caso queira se aprofundar.

Espero ter ajudado! Qualquer dúvida, estou disponível.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Hahahah Muito grato, estou tentando. No caso, Iasmin, há situações em que o programa roda perfeitamente, compila direitinho, mas por conta de alguma regra de negócio subjetiva ao meu programa, eu lanço essa exceção, correto?

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeVi esse exemplo em um vídeo em que realiza essa validação da nota e lança uma exceção com o throw. Ele é útil para essa dúvida que estou tirando contigo neste momento? O programa rodaria normalmente, mas eu por opção pessoal forcei esse "erro" de execução, correto?

Esse exemplo é útil pra dúvida sim. Geralmente, quando estamos lidando com erros em um programa, temos duas estratégias: interromper a execução (usando o throw ou algum outro recurso) ou fazê-la continuar, informando o erro ao usuário com o auxílio de um try-catch, conforme você verá mais pra frente no curso. Aí vai depender da escolha da pessoa programadora e dos próprios requisitos do sistema para determinar o que é melhor. :)

Valeu Iasmin. Muito obrigado viu!