typestar

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

  1. parse()? retorna temprano ante un error.
  2. El tipo de error de la función es el error de parseo.
  3. match maneja Ok y Err en el punto de llamada.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 4 en Result y el operador ?; paso 4 de 15 en Manejo de errores.

← Anterior Siguiente →