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