Result y ? en Rust
Errores recuperables, y el operador ? de retorno temprano.
fn parse_sum(a: &str, b: &str) -> Result<i32, std::num::ParseIntError> {
let x: i32 = a.parse()?;
let y: i32 = b.parse()?;
Ok(x + y)
}
fn main() {
match parse_sum("3", "4") {
Ok(total) => println!("sum: {total}"),
Err(e) => println!("error: {e}"),
}
}
Cómo funciona
parse()?retorna temprano ante un error.- El tipo de error de la función es el error de parseo.
matchmanejaOkyErren el punto de llamada.
Palabras clave y builtins usados aquí
ErrOkResultfni32letmatchstr
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 252
- Tokens
- 101
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 61 segundos.
Paso 1 de 4 en Result y el operador ?; paso 4 de 15 en Manejo de errores.