Introdução
Neste laboratório, você aprenderá como verificar se uma exceção foi levantada em Python. O laboratório se concentra na compreensão de exceções e no uso de blocos try-except para capturá-las e tratá-las, evitando que o programa trave.
Você começará criando um script Python que levanta uma exceção ZeroDivisionError. Em seguida, você aprenderá como usar um bloco try-except para capturar essa exceção e tratá-la de forma elegante, permitindo que seu programa continue a ser executado.
Entendendo as Exceções
Nesta etapa, você aprenderá sobre exceções em Python. Exceções são eventos que ocorrem durante a execução de um programa e que interrompem o fluxo normal de instruções. Compreender as exceções é crucial para escrever código Python robusto e confiável.
Quando um erro ocorre em Python, uma exceção é levantada. Se a exceção não for tratada, o programa será encerrado e exibirá uma mensagem de erro. No entanto, usando blocos try-except, você pode capturar e tratar exceções, impedindo que seu programa trave.
Vamos começar com um exemplo simples que levanta uma exceção:
Abra o editor VS Code no ambiente LabEx.
Crie um novo arquivo chamado
division.pyno diretório~/project.~/project/division.pyAdicione o seguinte código ao arquivo
division.py:numerator = 10 denominator = 0 result = numerator / denominator print(result)Este código tenta dividir 10 por 0, o que é uma operação inválida e levantará uma exceção
ZeroDivisionError.Execute o script usando o seguinte comando no terminal:
python division.pyVocê verá uma saída semelhante a esta:
Traceback (most recent call last): File "/home/labex/project/division.py", line 3, in <module> result = numerator / denominator ZeroDivisionError: division by zeroO traceback mostra que um
ZeroDivisionErrorocorreu na linha 3 do arquivodivision.py. O programa foi encerrado porque a exceção não foi tratada.
Agora, vamos ver como tratar essa exceção usando um bloco try-except.
Usando try-except para Capturar
Nesta etapa, você aprenderá como usar blocos try-except para capturar e tratar exceções em Python. Isso permite que seu programa continue a ser executado mesmo quando ocorrem erros.
A estrutura básica de um bloco try-except é a seguinte:
try:
## Código que pode levantar uma exceção
except ExceptionType:
## Código para tratar a exceção
O código dentro do bloco try é executado. Se uma exceção do tipo ExceptionType ocorrer, o código dentro do bloco except é executado. Se nenhuma exceção ocorrer, o bloco except é ignorado.
Vamos modificar o arquivo division.py da etapa anterior para tratar a exceção ZeroDivisionError:
Abra o arquivo
division.pyno editor VS Code.Modifique o código para incluir um bloco
try-except:try: numerator = 10 denominator = 0 result = numerator / denominator print(result) except ZeroDivisionError: print("Error: Cannot divide by zero.")Neste código, o bloco
trycontém a operação de divisão que pode levantar umZeroDivisionError. O blocoexceptcaptura oZeroDivisionErrore imprime uma mensagem de erro.Execute o script usando o seguinte comando no terminal:
python division.pyVocê verá a seguinte saída:
Error: Cannot divide by zero.Em vez de travar, o programa agora trata o
ZeroDivisionErrorde forma elegante e imprime uma mensagem informativa.
Isso demonstra como os blocos try-except podem ser usados para impedir que seu programa trave devido a exceções.
Inspecionando o Tipo de Exceção
Nesta etapa, você aprenderá como inspecionar o tipo de exceção e acessar a mensagem da exceção dentro do bloco except. Isso permite que você trate diferentes tipos de exceções de maneiras diferentes e forneça mensagens de erro mais informativas.
Quando uma exceção é capturada, você pode atribuí-la a uma variável na cláusula except usando a palavra-chave as:
try:
## Código que pode levantar uma exceção
except ExceptionType as e:
## Código para tratar a exceção
## 'e' é o objeto de exceção
A variável e conterá então o objeto de exceção, que você pode usar para acessar informações sobre a exceção, como seu tipo e mensagem.
Vamos modificar o arquivo division.py para inspecionar o tipo de exceção e imprimir a mensagem da exceção:
Abra o arquivo
division.pyno editor VS Code.Modifique o código para inspecionar o tipo de exceção e imprimir a mensagem:
try: numerator = 10 denominator = 0 result = numerator / denominator print(result) except ZeroDivisionError as e: print(f"Error: {type(e).__name__} - {e}")Neste código, capturamos o
ZeroDivisionErrore o atribuímos à variávele. Em seguida, usamostype(e).__name__para obter o nome do tipo de exceção eepara obter a mensagem da exceção. Imprimimos ambos em uma string formatada.Execute o script usando o seguinte comando no terminal:
python division.pyVocê verá a seguinte saída:
Error: ZeroDivisionError - division by zeroA saída agora inclui o tipo de exceção (
ZeroDivisionError) e a mensagem da exceção (division by zero).
Isso permite que você forneça informações mais detalhadas sobre o erro que ocorreu, tornando mais fácil depurar seu código. Você também pode usar essas informações para tratar diferentes tipos de exceções de maneiras diferentes, fornecendo tratamento de erros mais específico para cada caso.
Resumo
Neste laboratório, você aprendeu sobre exceções em Python, que são eventos que interrompem o fluxo normal de um programa. Quando um erro ocorre, uma exceção é levantada e, se não for tratada, o programa é encerrado.
Você também aprendeu como usar blocos try-except para capturar e tratar exceções, evitando que o programa trave. O laboratório demonstrou um ZeroDivisionError e como usar try-except para tratá-lo.



