Menu
Coddy logo textTech

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.

challenge icon

Aufgabe

Einfach

Lehne 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.
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Solidity-Playground