Como Funciona o Tratamento de Exceções?

Em Python, o tratamento de exceções é uma parte fundamental para escrever programas robustos e tolerantes a falhas. Ele permite que você antecipe, capture e responda a erros de forma estruturada. Tratamento de exceções é o processo de capturar e gerenciar erros que ocorrem durante a execução de um programa, para que seu código não trave inesperadamente. Python fornece os blocos try, except, else e finally para tratar erros de forma elegante. Aqui está um exemplo básico:
try:
    x = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")
  • try: O bloco de código onde você antecipa que um erro possa ocorrer.
  • except: Este bloco é executado se um erro do tipo especificado for levantado dentro do try.
  • Neste caso, dividir por zero gera um ZeroDivisionError, que é então capturado e tratado.
E aqui está um exemplo mostrando também como usar os blocos else e finally:
try:
    x = 10 / 2
except ZeroDivisionError:
    print("You can't divide by zero!")
else:
    print('Division successful:', x)
finally:
    print('This block always runs.')
  • else: Executa se nenhuma exceção for levantada no bloco try.
  • finally: Executa independentemente do que acontecer—se uma exceção ocorreu ou não. Útil para tarefas de limpeza como fechar arquivos ou liberar recursos.
Você também pode capturar múltiplas exceções com blocos except separados:
try:
    number = int('abc')
    result = 10 / number
except ValueError:
    print('That was not a valid number.')
except ZeroDivisionError:
    print("Can't divide by zero.")
Ao usar cláusulas except separadas, você pode tornar suas respostas de erro mais específicas e úteis. Você também pode usar o objeto de exceção, que normalmente é renomeado para outro nome com a palavra-chave as. Aqui estamos usando e como um alias para o objeto de erro:
try:
    x = 1 / 0
except ZeroDivisionError as e:
    print(f'Error occurred: {e}')
Usar e permite acessar a mensagem de erro real ou o objeto para registro ou depuração. Você também pode capturar múltiplas exceções em uma única cláusula except especificando as exceções como uma tupla:
try:
    number = int(input('Enter a number: '))
    result = 10 / number
except (ValueError, ZeroDivisionError) as e:
    print(f'Error occurred: {e}')
O tratamento de exceções permite que seus programas se recuperem de erros de forma elegante. Ao usar try, except, else e finally, você pode antecipar problemas potenciais e construir aplicações mais resilientes.
Este módulo não possui perguntas. Marque como concluído.