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.

Ahora responde el ejercicio sobre el contenido:

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

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Siguiente página del libro electrónico gratuito:

4910. Módulos e pacotes em Python

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.