Remix.run Logo
clausecker 7 months ago

I dislike sum-type based error handling. It is annoying syntactically and only really doable with lots of high-level combinators, which in turn hinder debuggability.

alper 7 months ago | parent | next [-]

I'm dealing with Rust based error handling now and nesting `match` statements is not exactly very happy. Or having to pull in `anyhow` and dealing with its awful awful documentation.

lionkor 7 months ago | parent | prev [-]

Have you tried the approach that Zig has, or the approach that Rust has? They are easy to debug and do not use any crazy stuff, just simple syntax like `try x()` (Zig) or `x()?` (Rust)

clausecker 7 months ago | parent [-]

Yes and that syntax sucks.

lionkor 7 months ago | parent [-]

That sounds like your opinion rather than a "it sucks because it encouraged bad practices" or something

clausecker 7 months ago | parent [-]

if err != nil { return err; } is an antipattern. Codifying it through builtin constructs does not change this, but instead encourages such poor error handling. That's why try sucks.