Oii, Gabriel.
É excelente ver a preocupação com a integridade dos dados, algo que diferencia um código simples de um sistema pronto para o uso real.
Ao utilizar o bloco try-except e a verificação de números negativos, você garantiu que o programa não quebre caso o usuário digite letras ou valores que não fazem sentido para uma venda.
Abaixo, destaco os pontos principais que tornam seu código resiliente:
- Tratamento de exceções: O uso do
try...except evita que o programa apresente um erro técnico (traceback) para o usuário final. - Validação de regra de negócio: Verificar se
qtd_macas < 0 é fundamental, pois, em um cenário de vendas, não existem quantidades negativas. - Encerramento limpo: O uso do
sys.exit(1) é uma forma correta de interromper a execução quando uma condição crítica de erro é encontrada.
Continue firme nos estudos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!