Matemática Múltipla Escolha

Imagine que você está desenvolvendo um programa que precisa ler o conteúdo de um arquivo de texto contendo alguns algoritmos. Para garantir que o programa não pare se o arquivo não estiver disponível, você decide utilizar os blocos de tratamento de erros e exceções. Assinale a alternativa que mostra a forma correta de usar um bloco try...except para lidar com a leitura de um arquivo de texto.

Imagine que você está desenvolvendo um programa que precisa ler o conteúdo de um arquivo de texto contendo alguns algoritmos. Para garantir que o programa não pare se o arquivo não estiver disponível, você decide utilizar os blocos de tratamento de erros e exceções.

Assinale a alternativa que mostra a forma correta de usar um bloco try...except para lidar com a leitura de um arquivo de texto.

  1. try: with open('arquivo.txt', 'r') as file: conteudo = file.read() except FileNotFoundError: print("Erro: O arquivo não foi encontrado.") except IOError: print("Erro: Houve um problema na leitura do arquivo.")
  2. try: with open('arquivo.txt', 'r') as file: conteudo = file.read() except FileNotFoundError: print("Erro: O arquivo não foi encontrado.") except IOError: print("Erro: O arquivo não foi encontrado.")
  3. try: file = open('arquivo.txt', 'r') conteudo = file.read() except Exception: e: print("Erro: O arquivo não foi encontrado.") finally: file.close()
  4. try: file = open('arquivo.txt', 'r') conteudo = file.read() except FileNotFoundError: print("Erro: O arquivo não foi encontrado.") except IOError: print("Erro: O arquivo não foi encontrado.")
  5. try: file = open('arquivo.txt', 'r') conteudo = file.read() except FileNotFoundError: print("Erro: O arquivo não foi encontrado.") except IOError: print("Erro: Houve um problema na leitura do arquivo.") finally: if 'file' in locals(): file.close()

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A

A questão solicita o uso correto de tratamento de exceções em Python, especificamente para manipulação de arquivos. A alternativa correta é a primeira, que utiliza a sintaxe padrão da linguagem.

Análise das Alternativas

Para resolver este problema, precisamos identificar qual código respeita a gramática do Python para capturar erros durante a execução.

Por que a Alternativa A está correta?

Esta opção apresenta a estrutura ideal para o contexto descrito:

  • Uso do bloco try...except: É a forma nativa do Python para tratar erros sem interromper o programa.
  • Gerenciamento de Recursos (with): A instrução with open(...) garante que o arquivo seja fechado automaticamente após o bloco ser executado, mesmo se ocorrer uma exceção. Isso evita vazamento de recursos.
  • Ordem dos except: O Python exige que exceções mais específicas sejam capturadas antes das mais genéricas.
  • Primeiro captura-se FileNotFoundError (específico: arquivo não existe).
  • Depois captura-se IOError (mais genérico: problemas de entrada/saída).
try:
    with open('arquivo.txt', 'r') as file:
        conteudo = file.read()
except FileNotFoundError:
    # Lógica para arquivo inexistente
except IOError:
    # Lógica para erro de leitura geral

Por que as outras estão incorretas?

As demais alternativas apresentam erros de sintaxe graves que impedem a execução do código em Python:

AlternativaErro PrincipalExplicação
BEstrutura inválidaO bloco try está vazio ou mal posicionado; os except não seguem corretamente o try.
CPalavra-chave erradaUsa catch, que é comum em Java/C++, mas não existe em Python. Deve ser except.
DPalavra-chave erradaUsa catch novamente. Além disso, fecha o arquivo duas vezes (risco de erro).
EPalavra-chave erradaUsa on, que não existe em Python. Deve ser except.

Conclusão

Em Python, a construção fundamental para tratamento de erros é try seguido de except. Nenhuma outra palavra-chave como catch ou on é válida neste contexto. Portanto, a única alternativa com a sintaxe correta é a primeira.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.