Manejo de errores

El manejo de errores es el proceso de manejar la posibilidad de fallas. Por ejemplo, no leer un archivo y luego continuar usando esa entrada mala sería claramente problemático. Al darse cuenta y gestionar explícitamente esos errores, el resto del programa se salva de varios errores.

Hay varias formas de tratar los errores en Rust, que se describen en los siguientes subcapítulos. Todos tienen diferencias más o menos sutiles y diferentes casos de uso. Como una regla de oro:

Un panic explícito es principalmente útil para las pruebas y el tratamiento de errores irrecuperables. Para la creación de prototipos, puede ser útil, por ejemplo, cuando se trata de funciones que aún no se han implementado, pero en esos casos, es mejor cuanto más descriptivo unimplemented. En las pruebas, panic es una forma razonable de fallar explícitamente.

El tipo Option es para cuando un valor es opcional o cuando la falta de un valor no es una condición de error. Por ejemplo, el padre de un directorio - / y C: no tienen uno. Cuando se trata de Options, unwrap está bien para la creación de prototipos y los casos en los que es absolutamente seguro que existe un valor garantizado. Sin embargo, expect es más útil ya que te permite especificar un mensaje de error en caso de que algo salga mal de todos modos.

Cuando exista la posibilidad de que las cosas salgan mal y la persona que llama tenga que lidiar con el problema, usa Result. También puedes unwrap y expect (desenvolver y esperar) (no lo hagas a menos que sea una prueba o un prototipo rápido).

Para una discusión más rigurosa sobre el manejo de errores, consulta la sección de manejo de errores en el libro oficial.