20 lines
687 B
Zig
20 lines
687 B
Zig
const std = @import("std");
|
|
// To replace exceptions, Zig has error enums to handle error states.
|
|
|
|
pub fn main() !void {
|
|
// writing to stdout as file descriptor might fail,
|
|
// if we are a child process and the parent process has closed it
|
|
const stdout_wr = std.io.getStdOut().writer();
|
|
try stdout_wr.writeAll("a");
|
|
// Above code is identical to
|
|
stdout_wr.writeAll("a") catch |err| return err;
|
|
stdout_wr.writeAll("a") catch |err| {
|
|
// usually std streams are leaked and the Kernel cleans them up
|
|
var stdin = std.io.getStdIn();
|
|
var stderr = std.io.getStdErr();
|
|
stdin.close();
|
|
stderr.close();
|
|
return err;
|
|
};
|
|
}
|