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

Tray Catch ou If

Olá Pessoal, tudo bem? A minha dúvida é a seguinte, quando devo usa o Try Cacth ou Ifs? Estou desenvolvendo um pequeno sistema para aprendizagem e cai na seguinte situação. Peço para o usuário digitar um número inteiro, mas se ele digitar um letra por exemplo, vai gerar uma Exception, nesse caso, percebi que posso tratar isso de 2 formas, usando a condicional if ou por try catch...e com isso fica bugado minha mente...kkkkkk

4 respostas

Olá.

O "If" deve ser utilizado para condição de sistema. O "try catch" deve ser utilizado para tratar erros de código.

No seu exemplo, você poderia colocar um campo que só permita digitar números, neste caso, não haverá erro do usuário em colocar letras. Caso não faça isso, pode disparar uma exception porque o usuário digitou um valor inválido.

Olá Allan,

Então se eu não usasse esse campo que só aceitasse números inteiros, teria que usar um "Tray Catch", caso o usuários venha digitar qualquer outra coisa para ser tratado pelo Catch, seria isso correto?

solução!

Não exatamente.

por Exemplo.

Se o usuário usasse digitasse "1234A" e tu tentasse converter para um tipo numérico, ocorreria a exception de NumberFormat. Para evitar a exception, tu botaria uma validação que permitisse apenas números, para assim, evitar a exception.

Existem dois tipos de Exceptions, as checadas e as não checadas. As não checadas tu não é obrigatório usar try catch, as checadas são obrigatórias.

Por exemplo, se tu quiser buscar um arquivo com a classe File, é obrigatório usar um try catch.

Recomendo tu fazer um estudo mais aprofundado de try catch aqui mesmo na Alura, pois é um assunto que está presente todos os dias na programação e é necessário entendê-la até para quando for debuggar o código, saber o que ocorreu e o que a exception significa.

Entendi, muito obrigado Allan, consegui entender melhor, valeu....