Menu
CoddyTech

Revert Eksplisit

Termasuk bagian Dasar-Dasar dalam perjalanan Solidity di Coddy. Pelajaran 47 dari 53.

Percabangan if dapat memanggil revert(message) untuk secara eksplisit menolak kasus yang tidak valid. Ini berguna ketika kondisi penolakan lebih mudah dibaca daripada kebalikannya. Letakkan pekerjaan normal setelah guard agar hanya berjalan untuk input yang dapat diterima.

Pernyataan dalam cuplikan ini berjalan di dalam fungsi main yang disediakan.

uint256 chosen = 4;
if (chosen > 6) { revert("Choice too large"); }
console.log(chosen + 2);

Empat tidak melebihi enam, jadi cabang penolakan dilewati. Eksekusi mencapai pemanggilan console. Revert eksplisit menolak pemanggilan seperti require yang gagal; ini bukan cara untuk mencetak hasil biasa.

revert mengakhiri pemanggilan saat ini dengan kegagalan, bukan melanjutkannya secara normal.

challenge icon

Tantangan

Mudah

Tolak nilai di atas 50 dengan revert dan pesan yang bermanfaat. Untuk input yang diterima, cetak 50 dikurangi nilai. Semua output pengujian berada dalam rentang.

Pengujian memberikan argumen ke main dengan urutan ini: uint256 value. Setiap pengujian dimulai dengan state contract yang baru.

Gunakan console.log untuk output yang diminta. Cetak hanya nilai yang diminta, satu per baris, tanpa label tambahan kecuali jika tugas memintanya.

Coba sendiri

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 value) external view {
        // Tulis solusimu di sini.
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground Solidity