21.12.2022 Views

python_para_desenvolvedores_2ed

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Exceções 87

Exceções

Quando ocorre uma falha no programa (como uma divisão por zero, por

exemplo) em tempo de execução, uma exceção é gerada. Se a exceção não for

tratada, ela será propagada através das chamadas de função até o módulo

principal do programa, interrompendo a execução.

print 1/0

Traceback (most recent call last):

File "<input>", line 1, in ?

ZeroDivisionError: integer division or modulo by zero

A instrução try permite o tratamento de exceções no Python. Se ocorrer uma

exceção em um bloco marcado com try, é possível tratar a exceção através da

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

try:

print 1/0

except ZeroDivisionError:

print 'Erro ao tentar dividir por zero.'

Saída:

Erro ao tentar dividir por zero.

Se except recebe o nome da exceção, só esta será tratada. Se não for passada

nenhuma exceção como parâmetro, todas serão tratadas.

Exemplo:

import traceback

# Tente receber o nome do arquivo

try:

fn = raw_input('Nome do arquivo: ').strip()

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!