4 ms·
My preferred solution for the err handling stutter would be something like "whenever". func Foo(x int) (int, error) { var err error a, err := whatever()
by kevhito 8y ago
My preferred solution for the err handling stutter would be something like "whenever".
func Foo(x int) (int, error) {
var err error
a, err := whatever()
if err != nil { return 0, err }
b, err := whatever()
if err != nil { return 0, err }
...
}
becomes
func Foo(x int) (int, error) {
var err error
whenever err != nil { return 0, err }
a, err := whatever()
b, err := whatever()
...
}
Essentially, "whenever" just means "insert this line at every point in the remainder of this code block where err is assigned a new value.
It is explicit, simple, easy to understand, and would be identical in function to how most errors are currently handled.
- LukeShu 8y agoIndent your code with 4 spaces to prevent HN from eating the newlines: func Foo(x int) (int, error) { var err error a, err := whatever() if err != nil { return 0, err } b, err := whatever() if err != nil { return 0, err } ... } func Foo(x int) (int, error) { var err error whenever err != nil { return 0, err } a, err := whatever() b, err := whatever() ... }
- mseepgood 8y agoThat's not error handling, that's error noticing. https://www.youtube.com/watch?v=Ph4eYD7Bgek&t=2m35s https://www.youtube.com/watch?v=Ph4eYD7Bgek&t=2m35s