التعامل مع الأخطاء في Zig
تستخدم Zig مجموعات الأخطاء (error sets) بدلاً من الاستثناءات (exceptions). مجموعة الأخطاء تشبه التعداد (enum).
zig const FileError = error{ NotFound, AccessDenied, };
fn openFile(id: i32) FileError!void { if (id < 0) return FileError.NotFound; }
الكلمة المفتاحية try
تعد try اختصاراً لإرجاع الخطأ في حالة حدوثه.
zig fn doWork() !void { try openFile(-1); }
وهي تعادل تماماً: openFile(-1) catch |err| return err;.