Manejo de errores en Solidity
Clase 14 de 21 • Curso de Introducción al Desarrollo Blockchain: Smart Contracts
Resumen
En la lógica de un contrato inteligente pueden ocurrir errores que debemos controlar y actuar en consecuencia ante estos escenarios.
Manejo de errores en Solidity
Solidity permite la declaración de Errores cuya función es similar a la de los eventos, con la diferencia de que estos pueden revertir los cambios de estado hechos. Sin embargo, el gas usado no es devuelto a quien generó la transacción.
La declaración de errores permite dar información más detallada sobre el error que acaba de ocurrir y generar una notificación, similar que los eventos. Los cambios previos en la transacción se revierten, por lo que no debes preocuparte si cambiaste el valor de alguna variable previamente.
// SPDX-License-Identifier: MIT
pragma solidity >=0.7.0 <0.9.0;
contract Event {
error SendError(string message);
function doSomething() public {
revert SendError("Mensaje del error");
}
}
La declaración de los errores personalizables se realiza con la palabra clave error
y recibe todos los parámetros que el mismo pueda necesitar. Su posterior lanzamiento se realiza con revert
e invocando el error a través de su nombre.

Si lanzas un error desde Remix, verás la X
roja y la información respectiva al error que acaba de ocurrir.
Combina esa característica de Solidity para desarrollar flujos en el código que te permitan controlar todos los escenarios posibles y actuar en consecuencia. Informarle a los usuarios del proyecto qué está ocurriendo en el contrato te ayudará a mejorar su experiencia de usuario interactuando con una aplicación.
Contribución creada por: Luis Enrique Herrera y Kevin Fiorentino (Platzi Contributors).