retirar caracteres especiais python

Try, Except – Tratamento de Exceções em Python

Quando estamos executando o nosso programa em Python, pode acontecer uma falha. Se não tratarmos essa falha, ela interromperá a execução do programa.

A instrução try permite tratar essas exceções no Python. Se ocorrer uma exceção em um bloco marcado com o try, poderemos tratá-la com a instrução except.

Podem existir vários blocos except para o mesmo bloco try.

Para aprendermos a tratar uma falha, vamos criar um script para forçar um erro de execução. Trataremos uma divisão por zero:

print(1/0)

Quando executarmos o programa, ele gerará um erro. Isso é escrito no console:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero

Para tratar uma determinada exceção, é só passar para o except o nome da exceção. Caso não for passado nenhum nome, todas as exceções serão tratadas.

No erro podemos encontrar o nome da exceção. Veja na linha marcada:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero

Agora vamos editar o nosso script para tratarmos a exceção ZeroDivisionError, que é gerada quando tentamos dividir um número por zero:

try:
    print(1/10)

# Colocamos o nome da exceção dessa maneira:
except ZeroDivisionError:
    print('Não é possível dividir um número por zero.')

Pronto. Agora quando executarmos esse script, será mostrado a mensagem “Não é possível dividir um número por zero.”.

Também podemos atribuir as exceções em variáveis:

try:
    print(1/10)

# Colocamos o nome da exceção dessa maneira:
except ZeroDivisionError as e:
    print('Não é possível dividir um número por zero.', e)

O módulo traceback oferece funcionalidades para manipularmos as mensagens de erro. A função format_exc retorna a saída da última exceção formatada em uma string.

Podemos adicionar um bloco else em nosso tratamento de exceções. Ele será executado quando não ocorrer nenhuma exceção. Também podemos adicionar um bloco finally que será executado de qualquer forma, acontecendo ou não uma exceção.

Finally pode ser utilizada para liberar os recursos que foram utilizados durante o bloco try, como conexões de banco de dados ou arquivos abertos.

Podemos usar a instrução with para substituir a combinação try / finally. Com ela, definiremos um objeto que será utilizado durante a execução do bloco. Esse objeto deverá suportar o protocolo de gerenciamento de contexto, ou seja, ele deve ter um método __enter__(), que é executado no início do bloco, e outro chamado __exit__(), que é executado no final do bloco.

with open('arquivo_temporario.txt') as temporario :
    for i in temporario :
        print(i, end='')

Se você quiser criar suas próprias exceções, você pode! A linguagem Python também permite criar novos tipos de exceções usando herança a partir da classe Exception.

Victor Vaz Autor

Fundador do Cafeína Codificada, formado em Sistemas Web pela UNIBH e um apaixonado por música.

Deixe um comentário

O seu endereço de e-mail não será publicado.