Explizite Reverts
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 47 von 53.
Ein if-Zweig kann revert(message) aufrufen, um einen ungültigen Fall ausdrücklich abzulehnen. Das ist nützlich, wenn die Ablehnungsbedingung leichter zu lesen ist als ihr Gegenteil. Platziere die normale Verarbeitung nach der Schutzprüfung, damit sie nur bei akzeptabler Eingabe ausgeführt wird.
Die Anweisungen in diesem Ausschnitt werden innerhalb der bereitgestellten Funktion main ausgeführt.
uint256 chosen = 4;
if (chosen > 6) { revert("Choice too large"); }
console.log(chosen + 2);Vier überschreitet sechs nicht, daher wird der ablehnende Zweig übersprungen. Die Ausführung erreicht den Konsolenaufruf. Ein explizites revert lehnt den Aufruf genauso wie ein fehlgeschlagenes require ab; es ist kein Weg, ein normales Ergebnis auszugeben.
revert beendet den aktuellen Aufruf mit einem Fehler, statt normal fortzufahren.
Aufgabe
EinfachLehne Werte über 50 mit revert und einer hilfreichen Nachricht ab. Gib bei akzeptierter Eingabe 50 minus value aus. Alle Ausgabetests liegen im gültigen Bereich.
Die Tests übergeben main Argumente in dieser Reihenfolge: uint256 value. Jeder Test beginnt mit einem frischen Vertragsstatus.
Verwende console.log für die angeforderte Ausgabe. Gib nur die angeforderten Werte aus, einen pro Zeile, ohne zusätzliche Bezeichnungen, sofern die Aufgabe diese nicht ausdrücklich verlangt.
Probier es selbst
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 value) external view {
// Schreibe deine Lösung hier.
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
10Vertragsregeln
Bedingungen voraussetzenExplizite RevertsEventsSichtbarkeit und PrivatsphäreGeprüfte Aktualisierungen2Variablen und Datentypen
Vorzeichenlose GanzzahlenEingaben und AusgabenVorzeichenbehaftete GanzzahlenBoolesche WerteStrings im SpeicherProfilkarte5Funktionen
FunktionsparameterRückgabewerteReine FunktionenHilfsaufrufeWiederverwendbare BerechnungenÜbe selbstständig: Solidity-Playground