diff options
Diffstat (limited to '23_errors3.zig')
-rw-r--r-- | 23_errors3.zig | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/23_errors3.zig b/23_errors3.zig deleted file mode 100644 index 6060bf1..0000000 --- a/23_errors3.zig +++ /dev/null @@ -1,28 +0,0 @@ -// -// One way to deal with error unions is to "catch" any error and -// replace it with a default value. -// -// foo = canFail() catch 6; -// -// If canFail() fails, foo will equal 6. -// -const std = @import("std"); - -const MyNumberError = error{ TooSmall }; - -pub fn main() void { - var a: u32 = addTwenty(44) catch 22; - var b: u32 = addTwenty(4) ??? 22; - - std.debug.print("a={}, b={}", .{a,b}); -} - -// Please provide the return type from this function. -// Hint: it'll be an error union. -fn addTwenty(n: u32) ??? { - if (n < 5) { - return MyNumberError.TooSmall; - } else { - return n + 20; - } -} |