A melhor mensagem de erro é nenhuma Se você sabe o que devia fazer, não tente “educar”: just do it! $ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> exit Use exit() or Ctrl-D (i.e. EOF) to exit >>> UGH! Não use a atenção do usuário desnecessariamente.
Exemplo: verificando presença de argumentos def verifica_argumentos(args, obrigatorios): """Verifica se argumentos obrigatorios estao presentes no dicionario de argumentos """
Exemplo: verificando presença de argumentos def verifica_argumentos(args, obrigatorios): """Verifica se argumentos obrigatorios estao presentes no dicionario de argumentos """ for nome_arg in obrigatorios: if nome_arg not in args: raise ValueError("Argumento obrigatorio: %s" % nome_arg)
Mesmo princípio em outras situações ● Checar espaço disponível antes de copiar/descompactar arquivos ● Validar campos num formulário à medida que vão sendo preenchidos ● Usar asserções que cobrem o máximo possível nos testes de unidade (ex: assertItemsEqual() )
Exemplo: def publica_app(app_id): try: deploy_application(app_id) return {'status': 'ok'} except ServiceUnavailable: message = ("O serviço está indisponível no momento." " Tente de novo em alguns minutos.") return {'status': 'error', 'message': message}
Resumindo: 1. Resolva o problema automaticamente, se possível 2. Aponte problemas cedo 3. Seja breve, mas informe o contexto completo 4. Indique como resolver o problema 5. Mantenha profissionalismo -- sem piadas