Revert
SolidityDéfinition
Instruction pour annuler une transaction et rembourser le gas restant. Peut inclure un message d'erreur ou utiliser des custom errors (plus économes). Toutes les modifications d'état sont annulées. require() est un raccourci pour if (!condition) revert(). Utilisé pour gérer les erreurs et les conditions invalides.
Version anglaise
Instruction to cancel a transaction and refund remaining gas. Can include error message or use custom errors (more economical). All state changes are undone. require() is shortcut for if (!condition) revert(). Used for error handling and invalid conditions.
Exemple de Code
contract Example {
error InsufficientBalance(uint256 requested, uint256 available);
mapping(address => uint256) public balances;
function withdraw(uint256 amount) public {
// Avec message
if (balances[msg.sender] < amount) {
revert("Insufficient balance");
}
// Avec custom error (recommandé)
if (balances[msg.sender] < amount) {
revert InsufficientBalance(amount, balances[msg.sender]);
}
balances[msg.sender] -= amount;
payable(msg.sender).transfer(amount);
}
}Termes Liés
Pages Liées
Pratique ce concept sur Solingo
Maîtrise Revert avec des exercices interactifs et un IDE intégré.
Commencer gratuitement