Identificar e Entender Erros Comuns do Python
Nesta etapa, exploraremos alguns erros comuns que você pode encontrar ao escrever código Python e aprenderemos como identificar e entender as mensagens de erro. Encontrar erros é uma parte normal da programação, e aprender a ler e interpretar mensagens de erro é uma habilidade crucial.
Vamos introduzir intencionalmente alguns erros em nosso código para ver como o Python responde. Vamos começar modificando o arquivo hello.py que criamos na primeira etapa.
Abra o arquivo hello.py no editor VS Code.
Primeiro, vamos introduzir um erro de digitação na função print(). Altere a linha para:
prunt("Hello, LabEx!")
Salve o arquivo (Ctrl + S).
Agora, execute o arquivo hello.py modificado a partir do terminal:
python hello.py
Você deverá ver uma mensagem de erro semelhante a esta:
Traceback (most recent call last):
File "/home/labex/project/hello.py", line 1, in <module>
prunt("Hello, LabEx!")
NameError: name 'prunt' is not defined
Este é um NameError (Erro de Nome). Ele nos diz que o nome prunt não é reconhecido pelo Python. Isso ocorre porque o nome correto da função é print. A mensagem de erro também aponta para o nome do arquivo (hello.py), o número da linha (linha 1) e o código específico que causou o erro.
Agora, vamos corrigir a digitação de print e introduzir uma aspa ausente. Altere a linha de volta para print, mas remova a aspa dupla de fechamento:
print("Hello, LabEx!)
Salve o arquivo e execute-o novamente:
python hello.py
Você deverá ver uma mensagem de erro diferente, provavelmente um SyntaxError (Erro de Sintaxe):
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!)
^
SyntaxError: unterminated string literal (missing '"')
Este SyntaxError indica que há um problema com a estrutura do seu código. A mensagem "unterminated string literal (missing '"')" nos diz claramente que uma string começou com uma aspa dupla, mas não terminou com uma.
Finalmente, vamos corrigir as aspas e introduzir um caractere não-inglês para os parênteses. Altere a linha para:
print("Hello, LabEx!")
Observe que os parênteses aqui são caracteres chineses de largura total, não os caracteres ingleses de largura reduzida exigidos pelo Python.
Salve o arquivo e execute-o:
python hello.py
Você provavelmente verá um SyntaxError relacionado a caracteres inválidos:
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!")
^
SyntaxError: invalid character '(' (U+FF08)
Esta mensagem de erro aponta para o caractere inválido e sua representação Unicode. O Python espera caracteres ingleses padrão de largura reduzida para elementos de sintaxe como parênteses.
Ao criar intencionalmente esses erros e observar as mensagens de erro, você pode começar a entender o que diferentes tipos de erros significam e como localizar a origem do problema em seu código. Na próxima etapa, aprenderemos como depurar esses erros.