Skip to content

Commit 23a35b2

Browse files
author
zhangzhuang08
committed
add error resolving sinppet of zig;
1 parent 3a4431a commit 23a35b2

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

.vitepress/config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,14 @@ export default defineConfig({
401401
text: 'Never Confused: Rust, Zig and Go',
402402
link: '/blog/rust-zig-go'
403403
},
404+
{
405+
text: 'Start with Zig',
406+
link: '/blog/zig',
407+
},
408+
{
409+
text: 'Tauri',
410+
link: '/blog/tauri',
411+
},
404412
{
405413
text: "博客文章阅读系列",
406414
collapsed: true,

docs/blog/zig.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: "Start with Zig"
3+
page: true
4+
aside: true
5+
---
6+
7+
# Start with Zig
8+
9+
## Resolve Error
10+
```zig
11+
12+
pub fn main() !void {
13+
const v: u32 = caused_error_fn() catch 4;
14+
}
15+
```
16+
17+
```zig
18+
19+
pub fn main() !void {
20+
const v: u32 = caused_error_fn() catch brk: {
21+
break :brk 4;
22+
}
23+
}
24+
```
25+
26+
```zig
27+
28+
pub fn main() !void {
29+
const v: u32 = caused_error_fn() catch |err| brk: {
30+
if (err == error.OutOfMemory) {
31+
break :brk 4;
32+
}
33+
break :brk 10;
34+
}
35+
}
36+
```
37+
38+
```zig
39+
40+
pub fn main() !void {
41+
// program will panic if there is an error
42+
const v: u32 = caused_error_fn() catch unreachable;
43+
}
44+
```
45+
46+
```zig
47+
48+
pub fn main() !void {
49+
const v: u32 = caused_error_fn() catch |err| switch(err) {
50+
error.FileNotFound => return,
51+
else => |e| { return e; },
52+
}
53+
}
54+
```

0 commit comments

Comments
 (0)