Tipos de erro em python

Tipos de erro em python
Codadores, especialmente codificadores iniciantes, tendem a encontrar erros. Um erro no código impede que o código seja executado corretamente ou da maneira pretendida. Em particular, os erros lançados pelo Python se enquadram em uma das três categorias: erros de sintaxe, erros de tempo de execução ou erros lógicos. Neste tutorial, aprenderemos os diferentes tipos de erros que o Python pode jogar.

Erros de sintaxe

Um erro de sintaxe ou um erro de análise é um tipo de erro que é jogado quando Python não entende bem o que você está tentando dizer. Precisamos comunicar ao intérprete Python o que queremos dizer como a linguagem falada. Por exemplo, você pode querer dizer feliz aniversário ao seu amigo. Mas se você estragar a palavra feliz e, em vez disso. Da mesma maneira, Python vem com um conjunto de regras muito rígidas e palavras. Quando você quebra as regras ou escreva as palavras com um erro, o intérprete Python simplesmente não consegue entender o que você está tentando dizer, e ele lançará um erro de sintaxe. Este erro pode ser simplesmente corrigido revisando a sintaxe e corrigindo -o para que ele cumpra a regra definida por Python.

Exemplo #1: Sintaxe esquecida

principal.py
name = "Qual é o seu nome? "
se nome != "Linux"
Print (nome "Hello % s" %)

Saída:

Arquivo "C: \ Usuários \ Kalya \ PycharmProjects \ pythonproject \ main.py ", linha 3
se nome != "Linux"
^
SyntaxError: esperado ':'
Processo terminado com o código de saída 1

Este é de longe o exemplo mais simples de um erro de sintaxe. As regras de Python afirmam que precisa haver um cólon no final da declaração if, e aqui simplesmente omitimos. Isso por si só estragou Python - não entende o que você está pedindo para fazer. Então, a correção simples é adicionar um cólon no final da declaração if. E, curiosamente, isso lhe dirá o que está errado e como consertá -lo. Nesse caso, diz “esperado:”. Então, está lhe dizendo que espera um cólon lá.

Exemplo #2: Sintaxe errada

principal.py
Para eu IM Range (5):
impressão (i)

Saída:

Arquivo "C: \ Usuários \ Kalya \ PycharmProjects \ pythonproject \ main.py ", linha 1
Para eu IM Range (5):
^^
SyntaxError: sintaxe inválida
Processo terminado com o código de saída 1

Aqui, eu escrevi IM em vez de. Então, ele lançou um erro de sintaxe porque a palavra usada está errada. Em Python, um conjunto de palavras são palavras especiais e eles já têm significados definidos por xixi. Quando você usa uma palavra que não está dentro desse conjunto, ela não o reconhece e vai hein?

Exemplo #3: suportes ausentes ou errados

principal.py
dicionário = ['Jim': 24, 'Jenny': 23, 'Jack': 30]
Impressão (dicionário)

Saída:

Arquivo "C: \ Usuários \ Kalya \ PycharmProjects \ pythonproject \ main.py ", linha 1
dicionário = ['Jim': 24, 'Jenny': 23, 'Jack': 30]
^
SyntaxError: sintaxe inválida
Processo terminado com o código de saída 1

Nesse caso, estamos ligando para usar um dicionário em Python. Mas não usamos os aparelhos encaracolados e, em vez disso, usamos os aparelhos quadrados que levam a um erro. De acordo com as regras, em Python, para um dicionário, usamos aparelhos encaracolados.

Erros de tempo de execução

Você pode receber um erro, mesmo que não tenha cometido erros de sintaxe. Quando o erro ocorre durante a execução do código, ele também é conhecido como uma exceção ou um erro de tempo de execução. Então, você começa a escrever o código e começa a executar sem problemas. Mas, no meio do caminho, apenas para e diz que há um erro - isso é chamado de exceção.

Exemplo #1: tentando dividir uma string por um número inteiro

principal.py
nome = 'linuxhint'
idade = 24
total = nome / idade
Imprimir (total)

Saída:

Arquivo "C: \ Usuários \ Kalya \ PycharmProjects \ pythonproject \ main.py ", linha 4, em
total = nome / idade
TypeError: Tipo (s) de operando não suportado para /: 'str' e 'int'
Processo terminado com o código de saída 1

Aqui, estamos tentando dividir uma string por um número inteiro, e isso é chamado de exceção ou erro de tempo de execução.

Exemplo #2: tentando acessar um arquivo que não existe

principal.py
f = aberto ('arquivo.txt ',' r ')
impressão (f.ler())

Saída:

Arquivo "C: \ Usuários \ Kalya \ PycharmProjects \ pythonproject \ main.py ", linha 1, em
f = aberto ('arquivo.txt ',' r ')
FileNotFoundError: [Errno 2] Nenhum arquivo ou diretório: 'arquivo.TXT'
Processo terminado com o código de saída 1

Nesse caso, estamos apontando para um arquivo que não existe. Portanto, o programa é executado, mas termina cedo com uma mensagem de erro de tempo de execução porque não pode localizar esse arquivo.

Erros lógicos

Ao contrário de um erro de sintaxe ou um erro de tempo de execução, o erro lógico é muito mais difícil de identificar. Também é muito mais difícil lidar. Então, Python não falhará e também não exibirá nenhuma mensagem de erro. Nesse caso, o programa será executado e nos dará um resultado. Mas o resultado estará incorreto. Então, onde está o erro? Na lógica do programador.

Exemplo #1: erro lógico

principal.py
x = 5
y = 6
z = x+y/2
print ("A média de %f e %f é %f" %(x, y, z))

Saída:

A média de 5.000000 e 6.000000 é 8.000000
Processo terminado com o código de saída 0

Aqui, a média de 5 e 6 não é 8! Então, aqui o código é executado e jogado um resultado. Mas o iniciante ficaria sentado e arranharia a cabeça porque os resultados estão errados.

Exemplo #2: Erro lógico

principal.py
dicionário = 'Jim': 24, 'Jack': 45, 'John': 60
Para Membro no Dicionário:
Idade = Dicionário [membro]
Se idade < 40:
impressão ("Você tem 40 anos ou mais. Você pode entrar neste site.")
outro:
Imprima ("Você é muito jovem para entrar neste site")

Saída:

Você tem 40 anos ou mais. Você pode entrar neste site.
Você é muito jovem para entrar neste site
Você é muito jovem para entrar neste site
Processo terminado com o código de saída 0

O motivo deste código é excluir aqueles que têm menos de 40 anos do site. Mas, como você deve ter notado, o programador colocou um sinal menos do que um em vez de um sinal maior que o sinal após a idade (idade <40). Both Jack and John are older than 40 but the program says that they are too young to enter this site. Jim who is 24 is allowed because it thinks that he's older than 40. This is a logical problem. It can be solved by changing the greater than/less than sign.

No Python, todos os erros que você receberá podem ser categorizados em três grupos: sintaxe, tempo de execução/exceção ou erros lógicos. Tanto a sintaxe quanto o erro de tempo de execução farão com que o python falhe. Normalmente exibe uma mensagem, deixando você saber como corrigir o problema e onde o problema está. Este não é o caso de um erro lógico. Um erro lógico não faz com que o python falhe, mas sim os resultados que estão completamente e totalmente errados. Portanto, dos três, erros lógicos são os mais difíceis de lidar, porque não sabemos onde o erro está localizado.