Mengembalikan Kesalahan dari Fungsi
Nyatakan kegagalan secara eksplisit dalam tanda tangan fungsi.
Mengembalikan Kesalahan dari Fungsi adalah pelajaran Zig Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Kegagalan dalam Tanda Tangan
Saat sebuah fungsi dapat gagal, nyatakan hal itu dalam tipe kembalian. Gabungan kesalahan seperti ParseError!u32 memperingatkan setiap pemanggil sejak awal.
fn parse(s: []const u8) ParseError!u32 {
// ...
}Kembalikan Nilai Keberhasilan
Pada jalur keberhasilan, Anda cukup mengembalikan payload seperti biasa. Zig membungkus nilai biasa tersebut ke sisi keberhasilan gabungan secara otomatis.
return 42;Kembalikan Kesalahan
Untuk gagal, kembalikan salah satu kesalahan Anda di tempat yang sama. Satu pernyataan pengembalian menentukan sisi gabungan yang Anda hasilkan.
if (s.len == 0) return error.Empty;Satu Pengembalian, Dua Hasil
Sebuah fungsi dengan gabungan kesalahan dapat mengembalikan nilai pada satu cabang dan kesalahan pada cabang lain. Keduanya memenuhi tipe yang dideklarasikan.
if (ok) return value;
return error.Failed;Void Ditambah Kesalahan
Fungsi yang melakukan pekerjaan tetapi tidak menghasilkan nilai tetap dapat gagal. Gunakan !void agar fungsi tidak mengembalikan apa pun saat berhasil atau mengembalikan kesalahan saat gagal.
fn save() !void {
// ...
}Kesalahan Mengalir di Lokasi Pemanggilan
Saat memanggil fungsi yang dapat gagal, Anda juga menerima gabungan kesalahan. Anda tidak dapat mengabaikannya; kompiler memaksa Anda untuk menanganinya.
const n = parse(input);Tangkap Kesalahan dengan if
if dapat memisahkan gabungan: tangkap nilainya di cabang utama dan kesalahannya setelah else, dengan menamai masing-masing menggunakan tanda pipa.
if (parse(input)) |n| {
use(n);
} else |err| {
report(err);
}Namai Himpunan Kesalahan dengan Tepat
Mencantumkan himpunan yang tepat sebelum ! membuat kontrak Anda tetap akurat. Pemanggil mengetahui seluruh daftar kegagalan tanpa membaca isi fungsi.
fn open(p: []const u8) FileError!File {}Kesalahan Melintasi Batas Fungsi
Kesalahan yang dikembalikan jauh di dalam kode Anda hanya bergerak keluar jika setiap fungsi dalam rantai menyatakan bahwa fungsi tersebut juga dapat gagal.
Buat Kegagalan Menjadi Eksplisit
Inilah inti penanganan kesalahan di Zig: kegagalan tidak pernah disembunyikan. Tanda tangan adalah janji tentang hal-hal yang dapat berjalan salah.
Kompiler Mendukung Anda
Lupa menangani kesalahan yang dikembalikan akan membuat build gagal. Zig menolak membiarkan kemungkinan kegagalan terlewat secara diam-diam.
Pemeriksaan Singkat
Sebuah fungsi melakukan pekerjaan tetapi tidak mengembalikan nilai yang berguna, namun mungkin gagal. Tipe kembalian apa yang sesuai?
Ringkasan
Anda telah mendeklarasikan fungsi yang dapat gagal dengan !T, mengembalikan nilai atau kesalahan dari satu pengembalian, dan melihat kompiler memaksa pemanggil untuk menanganinya. ✅
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengembalikan Kesalahan dari Fungsi” gratis?
Ya — teks lengkap “Mengembalikan Kesalahan dari Fungsi” 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 “Mengembalikan Kesalahan dari Fungsi”?
Nyatakan kegagalan secara eksplisit dalam tanda tangan fungsi. 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 2 dari 4.
Berapa lama pelajaran “Mengembalikan Kesalahan dari Fungsi” 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
- Kumpulan Kesalahan dan Union !T
- Mengembalikan Kesalahan dari Fungsi
- Meneruskan Kegagalan dengan try
- Kumpulan Kesalahan Terinferensi