From 55ad7c32f2d534b1fbd438204d21738f958c51a5 Mon Sep 17 00:00:00 2001 From: Dave Gauer Date: Tue, 9 Feb 2021 18:36:57 -0500 Subject: Moved exercises to exercises because exercises --- 25_errors5.zig | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 25_errors5.zig (limited to '25_errors5.zig') diff --git a/25_errors5.zig b/25_errors5.zig deleted file mode 100644 index d9e9ce1..0000000 --- a/25_errors5.zig +++ /dev/null @@ -1,40 +0,0 @@ -// -// Zig has a handy "try" shortcut for this common error handling pattern: -// -// canFail() catch |err| return err; -// -// which can be more compactly written as: -// -// try canFail(); -// -const std = @import("std"); - -const MyNumberError = error{ - TooSmall, - TooBig, -}; - -pub fn main() void { - var a: u32 = addFive(44) catch 0; - var b: u32 = addFive(14) catch 0; - var c: u32 = addFive(4) catch 0; - - std.debug.print("a={}, b={}, c={}", .{a,b,c}); -} - -fn addFive(n: u32) MyNumberError!u32 { - // - // This function needs to return any error which might come back from fix(). - // Please use a "try" statement rather than a "catch". - // - var x = detect(n); - - return x + 5; -} - -fn detect(n: u32) MyNumberError!u32 { - if (n < 10) return MyNumberError.TooSmall; - if (n > 20) return MyNumberError.TooBig; - return n; -} - -- cgit v1.2.3-ZIG