4 ms·
I am quite convinced that Zig's approach to error handling would apply well to Golang. At least adding a "try" prefix would be an easy change. Add the ability t
by gregwebs 4y ago
I am quite convinced that Zig's approach to error handling would apply well to Golang. At least adding a "try" prefix would be an easy change. Add the ability to enable/disable an error return trace and that would do a good enough job handling the majority of error handling boilerplate.
* https://ziglang.org/documentation/master/#try
* https://ziglang.org/documentation/master/#Error-Return-Traces
I am working on adding this to the compiler now but I know of no actual process for getting such an improvement officially into the Go language.
There are several other concepts in Zig that enhance safety that Go can consider adopting. I personally prefer the soundness of Rust, but Zig is much more philosophically aligned with Go. In error handling alone, we can consider adopting a "catch" suffix as Zig has for when "try" is insufficient as well as error sets. Additionally optional types seem like they would work well in Go.
* https://ziglang.org/documentation/master/#Optionals
* https://ziglang.org/documentation/master/#Error-Set-Type