Belirli Hatalara Göre switch Kullanma
Döndürülen hataya göre dallanın.
Belirli Hatalara Göre switch Kullanma, CoddyKit'te ücretsiz bir Zig Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Zig Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Zig Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Not All Errors Are Equal
One fallback rarely fits every failure. A missing file and bad input often need different handling, so you want to branch by which error occurred.
Capture Then switch
Capture the error from catch, then feed it into a switch. Each case can respond to one specific error in its own way.
open(path) catch |err| switch (err) {
error.NotFound => create(path),
else => return err,
};Errors Are switch Values
An error like error.NotFound is a normal value, so switch matches it just like it matches an integer or an enum tag.
switch (err) {
error.Timeout => retry(),
error.Denied => reportDenied(),
}switch Must Be Exhaustive
A switch on an error must cover every possible error in the set. Zig refuses to compile if even one case is missing.
Cover the Rest with else
Add an else branch to catch any error you did not name. This keeps the switch exhaustive without listing every variant.
switch (err) {
error.NotFound => createDefault(),
else => return err,
}Each Arm Returns a Value
Because switch is an expression, every arm can produce a value. The whole catch then yields whatever the matching arm gives back.
const n = parse(s) catch |e| switch (e) {
error.Empty => 0,
else => -1,
};Group Errors with Commas
List several errors in one arm separated by commas when they share a response. This keeps related cases tidy and together.
switch (err) {
error.Timeout, error.Reset => retry(),
else => return err,
}Re-throw What You Cannot Handle
In an arm you can return the error to pass it upward. Handle the cases you understand and let the caller deal with the rest.
else => return err,Pair with try First
Often you try the common path and only switch on the errors that truly need custom logic, keeping the happy path clean.
Clarity Through Specificity
Switching on errors documents exactly which failures you expect. The reader sees each case and how your code reacts to it.
Compiler Has Your Back
Because the switch must be complete, adding a new error later forces you to handle it. Missed cases become build errors, not bugs.
Quick Check
You switch on a captured error but list only some variants. What does Zig require?
Recap
You captured an error and used switch to branch per error, group related cases, and re-throw the rest. The compiler keeps it complete. ✅
Sıkça Sorulan Sorular
“Belirli Hatalara Göre switch Kullanma” dersi ücretsiz mi?
Evet — “Belirli Hatalara Göre switch Kullanma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Zig Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Zig Academy kursu toplamda 4 dersten oluşur.
“Belirli Hatalara Göre switch Kullanma” dersinde ne öğreneceğim?
Döndürülen hataya göre dallanın. Zig Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Zig Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Zig Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Belirli Hatalara Göre switch Kullanma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Zig Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Zig Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- catch ile Kurtarma
- Belirli Hatalara Göre switch Kullanma
- Başarısızlık Temizliği İçin errdefer
- Hataları Sarma ve Yeniden Fırlatma