ziglings/exercises/22_errors2.zig
Dave Gauer f1f56fd829
Ex 22 spelling error
I never make mistakes with apostrophes'es', so I dont' know what happened here.
2021-02-10 09:35:16 -05:00

31 lines
863 B
Zig

//
// A common case for errors is a situation where we're expecting to
// have a value OR something has gone wrong. Take this example:
//
// var text: Text = getText('foo.txt');
//
// What happens if getText() can't find 'foo.txt'? How do we express
// this in Zig?
//
// Zig lets us make what's called an "error union" which is a value
// which could either be a regular value OR an error from a set:
//
// var text: MyErrorSet!Text = getText('foo.txt');
//
// For now, let's just see if we can try making an error union!
//
const std = @import("std");
const MyNumberError = error{ TooSmall };
pub fn main() void {
var my_number: ??? = 5;
// Looks like my_number will need to either store a number OR
// an error. Can you set the type correctly above?
my_number = MyNumberError.TooSmall;
std.debug.print("I compiled!", .{});
}