Engenharia Estrutural Civil &
Lidando com Excepções em Python: Dicas para Código Robusto
Table of Contents
Manipulação de exceções de forma eficaz é essencial para escrever programas Python robustos. Gerenciamento de exceções adequada ajuda a prevenir falhas e garante que o programa pode recuperar ou fornecer feedback significativo quando os erros ocorrem.
Compreender as Excepções em Python
Excepções são erros que interrompem o fluxo normal de um programa. Python tem classes de exceção incorporadas, como ValueError e TypeError[, que são levantadas quando problemas específicos ocorrem. Reconhecendo essas exceções, os desenvolvedores podem lidar com erros graciosamente.
Usando blocos de tentativa- exceto
O método principal para o tratamento de exceções em Python é o bloco try-except. O código que pode levantar uma exceção é colocado dentro do bloco try[, enquanto o código de tratamento de erros é colocado dentro do bloco exceto.
Exemplo:
[[FLT: 0]] try: [[FLT: 1]] [[FLT: 2]] x = int( input( "Enter a number: ")] [[FLT: 3]] [[FLT: 4]] exceto ValorError: [ [[FLT: 6]] print("Input inválido. Por favor, insira um número válido.")
Lidar com Excepções Múltiplas
Várias exceções podem ser gerenciadas adicionando vários blocos exceto. Isto permite respostas específicas para diferentes tipos de erro.
Exemplo:
tentativa:
resultado = 10 / divisor
exceto ZeroDivisãoError:
] impressão("Não pode dividir por zero.")
exceto TipoError:] [
] impressão("Tipo inválido fornecido.")
Usando finalmente e mais
O bloco finalmente executa o código independentemente de ocorrer uma exceção. O bloco else executa se nenhuma exceção for levantada.
Exemplo:
] tente:
] ficheiro = aberto("data.txt", "r")
excepto FileNotFoundError:
] [["FLT:6]]] print("Ficheiro não encontrado.") [
else: [ [
]] print("File opened com sucesso.")
] [[] [
] [[[[FLT:close()]]]
Melhores práticas para o tratamento de exceção
- Excepções específicas de capturas em vez de utilizar um general excepto:.
- Evite usar exceções para o fluxo de controle.
- Registre exceções para fins de depuração.
- Use finalmente para liberar recursos.