Pular para conteúdo

Mini-Projeto: Validador de Arquivos Seguro 🛡️

Neste projeto, você vai construir uma pequena ferramenta que lê arquivos de configuração, lidando com erros de forma profissional usando Result.

📋 Requisitos

  1. Tratamento de I/O: Tente abrir um arquivo chamado config.txt.
  2. Operador ?: Use o operador de interrogação para propagar erros de leitura.
  3. Resultado Amigável: No main, use match para imprimir uma mensagem personalizada se o arquivo não for encontrado.

🚀 Guia de Execução

  1. Implementação sugerida:
    use std::fs::File;
    use std::io::{self, Read};
    
    fn ler_configuracao() -> Result<String, io::Error> {
        let mut arquivo = File::open("config.txt")?; // Propaga se falhar
        let mut conteudo = String::new();
        arquivo.read_to_string(&mut conteudo)?;
        Ok(conteudo)
    }
    
    fn main() {
        match ler_configuracao() {
            Ok(c) => println!("Configuração carregada: {}", c),
            Err(e) => {
                match e.kind() {
                    io::ErrorKind::NotFound => println!("Erro: O arquivo 'config.txt' não existe!"),
                    _ => println!("Ocorreu um erro inesperado: {}", e),
                }
            }
        }
    }
    

✅ Critérios de Aceite

  • [ ] Uso correto do tipo Result<T, E>.
  • [ ] Demonstração prática do operador ?.
  • [ ] Tratamento de erro específico no main via match.