9. Tratamento de exceções em Python

Página 48

O tratamento de exceções em Python é uma parte crucial de qualquer programa robusto e seguro. As exceções são eventos que ocorrem durante a execução de um programa que interrompem o fluxo normal do programa. Em Python, as exceções são levantadas quando alguns erros internos ocorrem. O Python tem várias exceções internas, como IOError, ValueError, ZeroDivisionError, ImportError, NameError, TypeError etc.

As exceções em Python não são necessariamente erros fatais; em vez disso, são eventos extraordinários que precisam ser tratados com eficácia para evitar o fechamento abrupto do programa. O Python fornece uma estrutura de tratamento de exceções para lidar com essas anomalias e garantir que o programa possa continuar com a execução ou terminar graciosamente.

O tratamento de exceções em Python é realizado usando uma estrutura de quatro componentes: try, except, else e finally.

O bloco try é usado para envolver o código que pode potencialmente causar uma exceção. O bloco de código dentro do bloco try é executado normalmente. Se ocorrer uma exceção, a execução do bloco try é interrompida e o controle é passado para o bloco except.

try:
    # código que pode levantar uma exceção
except ExceptionType:
    # código que será executado se a exceção ocorrer

O bloco except é onde definimos como o programa deve responder à exceção. Podemos especificar diferentes blocos de exceção para lidar com diferentes tipos de exceções. Se o tipo de exceção mencionado após except corresponder à exceção ocorrida no bloco try, então esse bloco except é executado.

try:
    # código que pode levantar uma exceção
except ZeroDivisionError:
    # código que será executado se a exceção ZeroDivisionError ocorrer
except IndexError:
    # código que será executado se a exceção IndexError ocorrer

O bloco else em Python é opcional. O código dentro do bloco else é executado se nenhuma exceção ocorrer no bloco try.

try:
    # código que pode levantar uma exceção
except ZeroDivisionError:
    # código que será executado se a exceção ZeroDivisionError ocorrer
else:
    # código que será executado se nenhuma exceção ocorrer

O bloco finally também é opcional. O código dentro do bloco finally é executado independentemente de uma exceção ter ocorrido ou não. Isso é útil para ações de limpeza, como fechar arquivos ou conexões de rede.

try:
    # código que pode levantar uma exceção
except ZeroDivisionError:
    # código que será executado se a exceção ZeroDivisionError ocorrer
finally:
    # código que será executado independentemente de uma exceção ocorrer ou não

Além das exceções internas, o Python permite que os programadores definam suas próprias exceções personalizadas, criando uma nova classe de exceção. Essas exceções personalizadas podem então ser levantadas usando a instrução raise.

class CustomError(Exception):
    pass

try:
    raise CustomError
except CustomError:
    print("Uma exceção personalizada ocorreu.")

Em resumo, o tratamento de exceções é uma parte importante do desenvolvimento de software em Python. Ele permite que os programadores lidem com erros e exceções de maneira limpa e eficiente, sem interromper a execução do programa. Ao entender e utilizar adequadamente a estrutura de tratamento de exceções do Python, você pode escrever códigos mais seguros, mais robustos e mais fáceis de manter.

Now answer the exercise about the content:

Qual é a função do bloco 'finally' no tratamento de exceções em Python?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

4910. Módulos e pacotes em Python

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text