El compromiso de Rust con la confiabilidad se extiende al manejo de errores. Los errores son una realidad en el software, por lo que Rust tiene una serie de características para manejar situaciones en las que algo sale mal. En muchos casos, Rust requiere que reconozca la posibilidad de un error y tome alguna acción antes de que se compile su código. ¡Este requisito hace que su programa sea más sólido al garantizar que descubrirá errores y los manejará adecuadamente antes de implementar su código en producción!

Rust agrupa los errores en dos categorías principales: recuperable y irrecuperable errores Para un error recuperable, como un error de archivo no encontrado, es razonable informar el problema al usuario y volver a intentar la operación. Los errores irrecuperables son siempre síntomas de errores, como intentar acceder a una ubicación más allá del final de un array.

La mayoría de los lenguajes no distinguen entre estos dos tipos de errores y manejan ambos de la misma manera, usando mecanismos como excepciones. Rust no tiene excepciones. En cambio, tiene el tipo Result para errores recuperables y la panic! macro que detiene la ejecución cuando el programa encuentra un error irrecuperable. Este capítulo cubre llamadas panic! primero y luego habla de volver Result valores. Además, exploraremos las consideraciones al decidir si intentar recuperarse de un error o detener la ejecución.