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
- Tratamento de I/O: Tente abrir um arquivo chamado
config.txt. - Operador ?: Use o operador de interrogação para propagar erros de leitura.
- Resultado Amigável: No
main, usematchpara imprimir uma mensagem personalizada se o arquivo não for encontrado.
🚀 Guia de Execução
- 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
mainviamatch.