Zig Academy · Pelajaran

Memulihkan dengan catch

Sediakan cadangan saat terjadi kesalahan.

Pelajaran 1 dari 413 langkah

Memulihkan dengan catch adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Zig Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Zig Academy mencakup 4 pelajaran total.

Error Memerlukan Rencana

Sebuah fungsi dapat mengembalikan gabungan error seperti !u32. Sebelum menggunakan hasilnya, Anda harus menentukan apa yang terjadi pada jalur kegagalan.

Kenali catch

Operator catch mengubah gabungan error menjadi nilai biasa dengan menyediakan nilai pengganti yang digunakan setiap kali pemanggilan mengembalikan error.

const n = parse(text) catch 0;

Nilai Pengganti Menggantikan Error

Jika pemanggilan berhasil, Anda mendapatkan nilai sebenarnya. Jika terjadi error, Anda mendapatkan sisi kanan catch, sehingga n selalu menjadi angka yang dapat digunakan.

const n = parse(text) catch -1;

catch Adalah Ekspresi

Karena catch menghasilkan nilai, Anda dapat menempatkannya langsung di mana pun nilai diperlukan, misalnya langsung sebagai argumen fungsi.

print(parse(text) catch 0);

Tangkap Errornya

Tambahkan pipe capture untuk memeriksa apa yang salah. Nama di antara tanda garis tersebut menyimpan nilai error spesifik yang dikembalikan.

const n = parse(text) catch |err| {
    log(err);
    return 0;
};

catch Dapat Menjalankan Blok

Sisi kanan catch dapat berupa satu blok penuh. Gunakan ini untuk mencatat, menghitung nilai pengganti, atau keluar dari perulangan sebelum melanjutkan.

const v = open(path) catch |e| blk: {
    break :blk fallback;
};

catch Dapat Mengembalikan Nilai Lebih Awal

Anda dapat menggunakan return dari dalam catch untuk meninggalkan fungsi saat pemulihan tidak mungkin dilakukan. Kode setelahnya tidak pernah dijalankan ketika terjadi error.

const f = open(path) catch return error.MissingFile;

catch unreachable

Penulisan catch unreachable menyatakan bahwa pemanggilan tersebut tidak mungkin gagal. Dalam build aman, error nyata di sini memicu panic, bukan diabaikan.

const n = parse("42") catch unreachable;

Gunakan unreachable dengan Hati-Hati

Gunakan catch unreachable hanya ketika error benar-benar mustahil terjadi. Jika Anda tidak yakin, berikan nilai pengganti yang sebenarnya.

catch vs try

Gunakan catch ketika Anda dapat menangani error di sini dan saat ini. Gunakan try ketika Anda lebih memilih meneruskan error tersebut kepada pemanggil.

Pemulihan Harus Eksplisit

Setiap gabungan error memaksa Anda memilih tindakan, sehingga kegagalan tidak pernah dapat terlewat secara diam-diam. Dengan catch, Anda menentukan tepatnya cara melakukan pemulihan.

Pemeriksaan Singkat

Anda ingin melanjutkan dengan nilai bawaan yang aman ketika pemanggilan gagal. Ekspresi mana yang sesuai?

Ringkasan

Anda menggunakan catch untuk memulihkan diri dari error dengan nilai pengganti, blok, pengembalian lebih awal, atau pernyataan. Kegagalan selalu ditangani secara sengaja. ✅

Gratis untuk memulai

Belajar Zig dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memulihkan dengan catch” gratis?

Ya — teks lengkap “Memulihkan dengan catch” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Zig Academy, upgrade ke CoddyKit PRO. Kursus Zig Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memulihkan dengan catch”?

Sediakan cadangan saat terjadi kesalahan. Kamu berlatih Zig Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Zig Academy?

Tidak diperlukan pengalaman sebelumnya. Zig Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Memulihkan dengan catch” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Zig Academy ini?

Ya. Setiap pelajaran Zig Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memulihkan dengan catch
  2. Melakukan switch pada Kesalahan Tertentu
  3. errdefer untuk Pembersihan saat Gagal
  4. Membungkus dan Melempar Ulang Kesalahan
← Kembali ke Zig Academy