¿Qué significa unwrap?

Clase 12 de 20Curso de Rust básico

Resumen

Rust es un lenguaje de bajo nivel, lo que lleva a tener diferencias importantes con respecto a lenguajes de alto nivel como Javascript o Python. El manejo de errores es uno de los puntos donde Rust innova totalmente en comparación a otros lenguajes.

Manejo de errores en Rust

En Rust, no existen los valores nulos. Al tratarse de un lenguaje que busca la seguridad y la robustez en el software, no permite los errores en tiempo de ejecución producto del valor nulo de una variable.

En Rust todo es un tipo de dato. El tipo de dato Option, contiene dentro el tipo de dato que puede existir o no como un número entero o un string. Devolverá el mismo, si existe, o nos devolverá en caso contrario un None que indica su no existencia, pero que no es lo mismo que null, ya que es un tipo de dato, y null un espacio en memoria totalmente vacio.

Una operación en Rust devuelve el tipo de dato Result, donde T es el valor de la operación exitosa y E un posible error. En Rust, los errores también son un tipo de dato. Para manejarlos, utilizamos .unwrap(). el mismo nos devuelve el valor T que necesitamos si este existe o E en caso de producirse un error.

Nota: En Rust tampoco existe la sentencia try/catch para la captura de errores como en otros lenguajes.

 
Si no implementamos .unwrap(), podemos obtener un warning por consola que nos advierte de la posibilidad del error en una operación. De esta manera, gracias a este tipo de dato que contiene el error, podemos actuar en consecuencia a partir de identificar el tipo de error.

El manejo de errores es Rust es algo complejo de entender. La práctica hará que puedas lograr comprenderlo a partir de la resolución de problemas.


Contribución creada por: Kevin Fiorentino.