Introdução ao tratamento de exceções em Python
As exceções são tratadas em python usando duas técnicas principais: são uma manipulação de asserção e exceção. Discutiremos as técnicas de manipulação de exceção python neste capítulo
Qualquer evento que desvie a execução normal do fluxo do programa é chamado de exceção. O bloco Try contém possíveis códigos de geração de erros. Colocar em ordem e gerenciar essas exceções é um processo realizado pelo bloco de exceção, que é inserido no final de cada bloco de tentativa. Um único bloco de tentativa pode associar mais de uma exceção em um determinado momento, enquanto o bloco else fica na seção de fluxo de programa usual. Todo o código em que não é necessária a proteção do bloco try é colocado no bloco else do programa.
Sintaxe:
try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block
Lista de exceções padrão
Exceção: todas as exceções da classe base
StopIteration: quando nenhum objeto é apontado pelo próximo método do iterador, essa exceção é gerada
SystemExit: guiado pela função sys.exit ().
StandardError: Exceto StopIteration e SystemExit, isso atua como a classe base para todas as funções internas.
ArithmeticError: Para todos os erros numéricos, essas exceções atuam como a classe base.
OverflowError: para um tipo numérico, se o cálculo exceder o valor máximo possível, esse erro é gerado.
FloatingPointError: a falha de uma operação de flutuação retrocede esse erro
ZeroDivisionError: gerado quando ocorre uma situação de divisão por zero no código
AssertionError: Quando a instrução assert falha, esse erro é acionado
AttributeError: Quando uma atribuição ou uma referência de atributo falha, gera esse erro
EOFErroR: gerado quando não é atingida mais nenhuma entrada de nenhuma função e final do arquivo
ImportError: gerado enquanto uma declaração de importação falha.
KeyboardInterrupt: gerado quando há uma interrupção na execução do programa
LookupError: Todos os erros de pesquisa se enquadram nessa classe base
IndexError: gerado quando o índice não foi encontrado
KeyError: gerado quando o dicionário não mantém o valor da chave mencionado
NameError: gerado para um identificador ausente local ou globalmente no programa
UnboundLocalError: gerado quando se usa uma variável local sem que nenhum valor seja atribuído a ela.
EnvironmentError: classe base para erros orientados ao ambiente que ocorrem fora do python
IOError: gerado durante um processo de entrada / saída sem êxito
SyntaxError: todos os erros orientados à sintaxe do python são tratados por essa exceção
IndentationError: indentação incorreta levará a esse tipo de erro
SystemError: Isso ocorre em uma situação em que o intérprete não funciona conforme o esperado, mas esse erro não faz com que o programa python fique fora de execução
SystemExit: Quando a função sys.exit () é usada pelo interpretador python, ela leva a essa exceção. isso faz com que o código termine de forma anormal quando não for tratado adequadamente.
TypeError: quando uma operação é inválida para um tipo de dados específico, esse erro é solicitado
ValueError: quando uma função mantém um argumento de tipo válido, mas um valor incorreto é especificado para esse argumento de tipo
RuntimeError: se alguma das categorias acima não for atendida, esse erro será gerado
NotImplementedError: gerado quando um método não configurativo que deseja ser colocado em prática em uma classe herdada não é realmente implementado. Colocar em ordem e gerenciar essas exceções é um processo realizado pelo bloco de exceção, que é inserido no final de cada bloco de tentativa.
Processo de manipulação de exceção em Python
- Exceto cláusula com várias exceções
- Exceto cláusula sem exceção mencionada
- Exceto cláusula com argumentos
Abaixo discutiremos o processo de manipulação de exceções em Python
1. Exceto cláusula com várias exceções
Isso permite que mais de uma instrução exceto seja declarada em uma cláusula exceto e todas essas exceções declaradas podem ser levantadas a partir desta cláusula exceto.
Sintaxe:
try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised
2. Exceto cláusula sem exceção
Todas as exceções acionadas do bloco try podem ser processadas aqui.
Sintaxe:
try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block
3. Exceto cláusula com argumentos
A causa real da exceção será mantida no valor do argumento
Sintaxe:
try:
Code block1except
ExceptionType, Argument:
Argument value is printed here
4. Programa de tratamento de exceções
Sintaxe:
try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"
Conclusão
Toda linguagem de programação mantém o processo de gerar uma exceção sempre que enfrenta um conjunto inesperado de situações, e o python é um deles que produz técnicas profundas para lidar com essas exceções, o que a torna uma linguagem de programação com base sólida.
Artigo recomendado
Este foi um guia para o tratamento de exceções do Python. Aqui discutimos a lista de exceções padrão e processamos junto com a sintaxe. Você também pode consultar nossos outros artigos sugeridos para saber mais -
- Vantagens do Python
- Frameworks Python
- Padrões em Python
- Compiladores Python
- Tratamento de exceções no VB.NET (exemplos)
- Dicionário em Python
- Eventos VB.Net