Ed
há 3 semanas
Para responder a essa pergunta, precisamos entender o que acontece quando um arquivo JSON corrompido é lido em um programa que utiliza a biblioteca `json` do Python. 1. FileNotFoundError: Isso ocorre quando o arquivo não é encontrado. Como o enunciado afirma que o arquivo `contatos.json` existe, essa alternativa (A) está incorreta. 2. Ignorar o erro sem avisar: Se o arquivo está corrompido, o programa não deve simplesmente ignorar o erro. Portanto, a alternativa (B) também está incorreta. 3. Lançar ValueError e interromper o loop: Embora um erro possa ocorrer, o erro específico relacionado a um arquivo JSON corrompido é mais específico do que um ValueError. Portanto, a alternativa (C) não é a mais precisa. 4. Capturar json.JSONDecodeError, avisar o usuário e retornar um dicionário vazio: Essa é a resposta mais adequada, pois a biblioteca `json` do Python lança um `JSONDecodeError` quando tenta decodificar um JSON inválido. Um bom tratamento de erro geralmente inclui avisar o usuário e retornar um valor padrão, como um dicionário vazio. Portanto, a alternativa (D) é a correta. 5. Reescrever o arquivo automaticamente sem perguntar: Isso não é um comportamento padrão ao lidar com erros de leitura de arquivos JSON, então a alternativa (E) também está incorreta. Portanto, a resposta correta é: D) O programa captura json.JSONDecodeError, avisa o usuário e retorna um dicionário vazio.