master
 1pub fn main() !void {
 2    try foo(12);
 3}
 4
 5fn foo(x: i32) !void {
 6    if (x >= 5) {
 7        try bar();
 8    } else {
 9        try bang2();
10    }
11}
12
13fn bar() !void {
14    if (baz()) {
15        try quux();
16    } else |err| switch (err) {
17        error.FileNotFound => try hello(),
18    }
19}
20
21fn baz() !void {
22    try bang1();
23}
24
25fn quux() !void {
26    try bang2();
27}
28
29fn hello() !void {
30    try bang2();
31}
32
33fn bang1() !void {
34    return error.FileNotFound;
35}
36
37fn bang2() !void {
38    return error.PermissionDenied;
39}
40
41// exe=fail