aboutsummaryrefslogtreecommitdiff
path: root/exercises/21_errors.zig
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/21_errors.zig')
-rw-r--r--exercises/21_errors.zig46
1 files changed, 0 insertions, 46 deletions
diff --git a/exercises/21_errors.zig b/exercises/21_errors.zig
deleted file mode 100644
index cbb5ac8..0000000
--- a/exercises/21_errors.zig
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// Believe it or not, sometimes things go wrong in programs.
-//
-// In Zig, an error is a value. Errors are named so we can identify
-// things that can go wrong. Errors are created in "error sets", which
-// are just a collection of named errors.
-//
-// We have the start of an error set, but we're missing the condition
-// "TooSmall". Please add it where needed!
-const MyNumberError = error{
- TooBig,
- ???,
- TooFour,
-};
-
-const std = @import("std");
-
-pub fn main() void {
- var nums = [_]u8{ 2, 3, 4, 5, 6 };
-
- for (nums) |n| {
- std.debug.print("{}", .{n});
-
- const number_error = numberFail(n);
-
- if (number_error == MyNumberError.TooBig) {
- std.debug.print(">4. ", .{});
- }
- if (???) {
- std.debug.print("<4. ", .{});
- }
- if (number_error == MyNumberError.TooFour) {
- std.debug.print("=4. ", .{});
- }
- }
-
- std.debug.print("\n", .{});
-}
-
-// Notice how this function can return any member of the MyNumberError
-// error set.
-fn numberFail(n: u8) MyNumberError {
- if (n > 4) return MyNumberError.TooBig;
- if (n < 4) return MyNumberError.TooSmall; // <---- this one is free!
- return MyNumberError.TooFour;
-}