Revert
SolidityDefinition
Annule toutes les modifications d'état et rembourse le gas restant. Utilisé avec des custom errors (0.8.4+) pour économiser du gas vs `require` avec strings. Forme : `revert ErrorName(params);` ou `revert("message");`. Plus explicite que `require(!condition)`.
English version
Cancels all state changes and refunds remaining gas. Used with custom errors (0.8.4+) to save gas vs `require` with strings. Form: `revert ErrorName(params);` or `revert("message");`.
Exemple de Code
// Custom errors : ultra gas-efficient
error Unauthorized(address caller);
error InsufficientFunds(uint requested, uint available);
function withdraw(uint amount) public {
if (msg.sender != owner)
revert Unauthorized(msg.sender);
if (balance < amount)
revert InsufficientFunds(amount, balance);
balance -= amount;
payable(msg.sender).transfer(amount);
}
// Équivalent require (coûte plus cher en gas)
require(msg.sender == owner, "Unauthorized");Pages Liees
Pratique ce concept sur Solingo
Maîtrise Revert avec des exercices interactifs et un IDE intégré.
Commencer gratuitement