Article image
Wallace Amaral
Wallace Amaral09/01/2024 02:25
Compartilhe

Tratando Erro e Validação de Input

  • #Python

Para lidar com erros e validação de input, garantindo um código seja limpo e funcional, o Python oferece uma estrutura de tratamento de exceções usando a instrução try & except. Além disso, a validação de input (entrada), é uma prática importante para garantir que os dados fornecidos ao programa estejam corretos.

Nesse primeiro momento, vamos aprender o tratamento de erros de input utilizando try e except. 

Em um parte do codigo, try é usado para dizer ao código que pode gerar exceções. Se uma exceção ocorrer dentro do bloco try, a instrução do programa é transferido para o bloco except, onde o tratamento do erro pode ser tratado. exemplo:

try:
  numero = int(input("Digite um número inteiro: "))
  resultado = 10 / numero
  print("O resultado é:", resultado)
except ZeroDivisionError:
  print("Erro: Divisão por zero não é permitida.")
except ValueError:
  print("Erro: Por favor, digite um número inteiro válido.")
except Exception as e:
  print(f"Erro inesperado: {e}")
else:
  print("Nenhuma exceção ocorreu.")
finally:
  print("Este bloco sempre é executado, independentemente de exceções.")

Neste exemplo, digo ao programa tenta dividir 10 pelo número digitado pelo usuário.

Se o usuário digitar zero, será gerada uma exceção ZeroDivisionError. Se o usuário inserir algo que não pode ser convertido para um número inteiro, será gerada uma exceção ValueError. O bloco except trata essas exceções específicas, e o bloco else é executado se nenhuma exceção ocorrer. O bloco finally é sempre executado, independentemente de ocorrer uma exceção ou não.

Validação de input com Try e Except

Além do tratamento de erros, o bloco try e except também podemos usar para validar a entrada do usuário.

Vou demonstrar um bloco de codigo que mostra uma validação de input. Quando o usuário digitar um valor ou uma palavra que não era o que o programa esperava! Então temos que fazer uma validação forçando o usuário a digitar o valor esperado pelo sistema.

while True:
  try:      # Se nenhuma exceção ocorrer, a cláusula except é ignorada e a execução da instrução try é finalizada
      numero = int(input("Digite um número inteiro: "))
      break  # Se a entrada for válida, sai do loop e finaliza o programa
  except ValueError:
      print("Erro: Por favor, digite um número inteiro válido.")

Nesse caso utilizei o While, try e except para fazer a validação e foçar o usuário a inserir o valor inteiro, caso ele não atenda esse requisito, o sistema entrará em um loop até o usuário inseir o valor esperado.

Conclusão

Isso ajuda a lidar com possíveis erros durante a execução do código e a garantir que os dados fornecidos ao programa atendam às expectativas.

Basicamente é isso pessoal, até a próxima! o/

Compartilhe
Comentários (0)