Memulangkan Ralat daripada Fungsi
Jadikan kegagalan jelas dalam tandatangan fungsi.
Memulangkan Ralat daripada Fungsi ialah pelajaran Zig Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Zig Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Zig Academy merangkumi sejumlah 4 pelajaran.
Kegagalan dalam Tandatangan
Apabila fungsi boleh gagal, nyatakannya dalam jenis pulangan. Gabungan ralat seperti ParseError!u32 memberi amaran kepada setiap pemanggil dari awal.
fn parse(s: []const u8) ParseError!u32 {
// ...
}Kembalikan Nilai Berjaya
Dalam laluan berjaya, anda hanya perlu mengembalikan muatan seperti biasa. Zig membungkus nilai biasa itu ke dalam sisi berjaya gabungan untuk anda.
return 42;Kembalikan Ralat Sebaliknya
Untuk gagal, kembalikan salah satu ralat anda di tempat yang sama. Satu pernyataan pulangan menentukan sisi gabungan yang anda hasilkan.
if (s.len == 0) return error.Empty;Satu Pulangan, Dua Hasil
Fungsi dengan gabungan ralat boleh mengembalikan nilai dalam satu cabang dan ralat dalam cabang lain. Kedua-duanya memenuhi jenis yang diisytiharkan.
if (ok) return value;
return error.Failed;Void Bersama Ralat
Fungsi yang melakukan kerja tetapi tidak menghasilkan nilai masih boleh gagal. Gunakan !void supaya fungsi itu tidak mengembalikan apa-apa apabila berjaya atau mengembalikan ralat apabila gagal.
fn save() !void {
// ...
}Ralat Mengalir Naik di Tapak Panggilan
Apabila anda memanggil fungsi yang boleh gagal, anda juga menerima gabungan ralat. Anda tidak boleh mengabaikannya; pengkompil memaksa anda untuk menanganinya.
const n = parse(input);Tangkap Ralat dengan if
if boleh memisahkan gabungan itu: tangkap nilai dalam cabang utama dan ralat selepas else, dengan menamakan setiap satunya menggunakan paip.
if (parse(input)) |n| {
use(n);
} else |err| {
report(err);
}Namakan Set Ralat dengan Tepat
Menyenaraikan set yang tepat sebelum ! memastikan kontrak anda benar. Pemanggil mengetahui senarai penuh kegagalan tanpa membaca isi fungsi.
fn open(p: []const u8) FileError!File {}Ralat Merentasi Sempadan Fungsi
Ralat yang dikembalikan jauh di dalam kod anda bergerak ke luar hanya apabila setiap fungsi dalam rantaian mengisytiharkan bahawa ia juga boleh gagal.
Jadikan Kegagalan Jelas
Inilah teras pengendalian ralat Zig: kegagalan tidak pernah disembunyikan. Tandatangan ialah janji tentang perkara yang boleh menjadi tidak kena.
Pengkompil Menyokong Anda
Jika anda terlupa menangani ralat yang dikembalikan, binaan akan gagal. Zig enggan membiarkan kemungkinan kegagalan terlepas secara senyap.
Semakan Pantas
Sesuatu fungsi melakukan kerja tetapi tidak mengembalikan nilai yang berguna, namun ia mungkin gagal. Apakah jenis pulangan yang sesuai?
Imbas Kembali
Anda telah mengisytiharkan fungsi yang boleh gagal dengan !T, mengembalikan nilai atau ralat daripada satu pernyataan pulangan, dan melihat pengkompil memaksa pemanggil menanganinya. ✅
Pelajari Zig dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Memulangkan Ralat daripada Fungsi” percuma?
Ya — teks penuh “Memulangkan Ralat daripada Fungsi” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Zig Academy, tingkat taraf kepada CoddyKit PRO. Kursus Zig Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Memulangkan Ralat daripada Fungsi”?
Jadikan kegagalan jelas dalam tandatangan fungsi. Anda berlatih Zig Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Zig Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Zig Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Memulangkan Ralat daripada Fungsi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Zig Academy ini?
Ya. Setiap pelajaran Zig Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Set Ralat dan Kesatuan !T
- Memulangkan Ralat daripada Fungsi
- Menyebarkan Kegagalan dengan try
- Set Ralat Berinferens