Del curso: Rust Avanzado

Errores no recuperables en Rust: panic! - Tutorial de Rust

Del curso: Rust Avanzado

Errores no recuperables en Rust: panic!

La gestión de errores a través de la macro panic es fundamental en el lenguaje de programación Rust como un mecanismo de seguridad que fuerza la interrupción del flujo de un programa cuando sea necesario. Vamos a ver varios ejemplos sencillos. Invocar a panic, en cualquier caso, termina con la ejecución del programa y limpiará la memoria de cualquier recurso que haya sido reservado durante la ejecución. Supongamos ahora que, si bien hemos implementado el tipo Result en nuestro programa y estamos propagando errores cuando se producen, por alguna razón, con determinados tipos de error, como podría ser con la división entre 0, sí que quisiéramos finalizar el programa. Pues en lugar de analizar con match el contenido del result devuelto, podemos asumir que esta operación siempre se realizará. Y con el método unwrap, indicamos que el valor devuelto por podemos esa operación, que es de tipo Result, lo intente extraer. Extraer el valor implica, por tanto, tomar el contenido de un estado de éxito. En caso de que el estado devuelto sea de tipo error, el programa entrará en pánico y finalizará. Por otro lado, también podríamos utilizar expect, que también fuerza a que el programa entre en pánico, pero muestra un mensaje determinado en pantalla. De nuevo, si tratamos de compilar, veremos que aparece tanto el mensaje proporcionado en expect y, por otro lado, el error que ha sido propagado. Y aquí, como podemos ver, no hace falta que incluyamos los dos puntos.

Contenido