Función Unwrap para el manejo de errores en Rust

Función Unwrap para el manejo de errores en Rust

Supongamos que necesita una base concreta sobre el manejo de errores en Rust. Necesita comprender la opción y los tipos de resultados. Mantienen la base de la Unwrap y esperan funciones que son críticas para el manejo de errores.

Veamos si podemos darle sentido a ellos en este tutorial.

Tipo de opción de óxido

El tipo de opción de óxido es un enum relativamente "simple" utilizado para fabricar la posibilidad de ausencia.

Eche un vistazo a la siguiente opción sintaxis:

opción enum
Ninguno,
Algunos (t),

Puede notar que tiene dos variantes: algo (algunas) y nada (ninguno). La capacidad de decirle al compilador cómo manejar la posibilidad de ausencia es importante.

En resumen, piense en el tipo de opción como un cuadro que puede tener algo o nada más que ambos.

Tipo de resultado de óxido

El tipo de resultado también se define en la biblioteca estándar. La sintaxis se proporciona a continuación:

Resultado de enum
Ok (t),
Err (e),

Tiene dos variantes: OK y ERR. Observe que es muy similar al tipo de opción. Esto se debe a que funciona de manera muy similar.

Sin embargo, a diferencia del tipo de opción, el tipo de resultado "anticipa" la posibilidad de un error. Piense en ello de esta manera. Si realiza una operación, solo hay dos cosas que pueden suceder, ya sea la operación es exitosa, por lo tanto, ok.

O la operación falla y obtienes un error. Por lo tanto, surge la variante ERR. Cuando la operación devuelve un error en Rust, la variante err () llamará al pánico! macro y salida.

Pero, ¿qué tiene esto que ver con el manejo de errores??

Hay dos formas de manejar la posibilidad de ausencia. El primero es el manejo explícito usando el operador de coincidencia, y el siguiente es el manejo implícito con la función Unwrap.

El siguiente código de ejemplo ilustra la información proporcionada:

#[Permitir (Dead_code)]
fncheck_db (db: opción)
// mango explícito con coincidencia
MatchDB
Algunos ("mysql") => println!("Servidor que se ejecuta en el puerto: 3306"),
Algunos ("PostgreSQL") => println!("Servidor que se ejecuta en el puerto: 5432"),
Algunos (interno) => println!("Déjeme revisar eso!!!"),
Ninguno => println!("Proporcione un DB:"),


#[Permitir (Dead_code)]
fndb (db: opción)
// Mango implícito con Unwrap
IFDB.unwrap () == ""
// Pánico si ninguno
pánico!("Abortado")


fnmain ()
letmysql = some ("mysql");
LetPostgres = Some ("PostgreSQL");
dejar ninguno = ninguno;
check_db (mysql);
check_db (Postgres);
check_db (algunos ("mongodb"));
check_db (ninguno);
db (algunos ("mongodb"));
db (ninguno);

El ejemplo anterior usa dos funciones para ilustrar el manejo de errores explícitos e implícitos en Ninguno y algunos valores de retorno.

El primero usa el operador de coincidencia para verificar varios casos, mientras que el otro usa Unwrap. Si no recibe ninguno, la función se asigna a.

El código anterior proporciona la siguiente salida:

Conclusión

Este artículo revisa el manejo de errores en el lenguaje de programación de óxido. Este proceso incluye las funciones Unwrap y ESPERS para completar el proceso. Además, se discutieron el tipo de opción de óxido y el tipo de resultado de óxido. Esperamos que hayas encontrado este artículo útil. Consulte otros artículos de Sugerencia de Linux para obtener más consejos e información.