Satisfação aspira! Bem vindo aos Marrs Guia TECH.

Hoje você vai aprender o porque e como tratar erros nos seus códigos.

Como você sabe, esses tutoriais são de 5 min. então é um exemplo e a prática comentada, como sempre! Bora.

Imagine que no seu programa você precisa inserir valores de estoque em unidades, logo a entrada precisa ser um número inteiro.

Como o estoque pode acabar podendo colocar outros tipos de medida, você não pode limitar o campo para aceitar só inteiros e aí pode ocorrer todo tipo de erro.

Para contornar alguns erros no processo você pode implementar opções de tratamento e as linguagens de programação tem a instrução TRY.

O TRY serve para testar uma rotina e caso der errado você tenha a opção de saber o que deu de errado e procurar uma alternativa antes de apresentar uma saída ao usuário.

No Python funciona com a seguinte estrutura:

try: 

   #

except [Exception]:

   #se entrou aqui é porque aconteceu algo errado no processo desejado

   #<ação de correção>

else:

   #Aqui o processo deu certo

   #<saída para o usuário

finally:

   #<executará independentemente se deu certo ou errado>

   #O finally é opcional e retirar a declaração não vai afetar a estrutura

Então vamos criar criar um exemplo, mas como sempre:

  • Não copie e cole, escreva o código
  • Não se limite ao exemplo, experimente
  • Tente entender o que está acontecendo
quantidade = input("Entre com a quantidade: ")
#entrando com qualquer valor como string try:
 
#Você está dizendo: tente executar e retornar TRUE quantidade=int(quantidade)
 
#fazer o 'cast' de string para integer
except ValueError as e:
#a tentativa retornou FALSE, então vamos tratar um retorno amigável
 
#existe uma gama enorme de tipos de erro aleḿ de ValueError(erro de valor),
#Mas você pode usar uma generica chamada
 
Exception print("Para UNIDADES DO ESTOQUE o valor deve ser inteiro", e.__class__)
 
#resposta amigável para o usuário else: print(quantidade, " Aceitas")
#a coversão do try deu certo finally:
# Se colocar finally, sempre será executado, idependente de der errado ou não print("Fim do programa ", )
 
#Experimente fazer um cálculo
Ex. print(quantidade*10)


E ai, conseguiu enteder?

Se precisar de alguma ajuda, deixe nos comentários abaixo.

Happy Coding!