• r1veRRR@feddit.de
      link
      fedilink
      arrow-up
      20
      arrow-down
      1
      ·
      1 year ago

      It’s better than “invisible” exceptions, but it’s still the worst “better” version. The best solution is some version of the good old Result monad. Rust has the BEST error handling (at least in the languages i know). You must handle Errors, BUT they are just values, AND there’s a easy, non-verbose way of passing on the error (the ? operator).

      • theneverfox@pawb.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Beyond a quick “hello world” when it came out, I’ve never used rust, but that sounds pretty great

    • fkn@lemmy.world
      link
      fedilink
      arrow-up
      23
      arrow-down
      5
      ·
      1 year ago

      Wow. I’m honestly surprised I’m getting downvotes for a joke. Also, no. It isn’t. It really isn’t.

      • gornius@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        It is better than in most languages with exceptions, except from languages like Java, that require you to declare that certain method throws certain error.

        It’s more tedious in Go, but at the end of the day it’s the same thing.

        When I use someone else’s code I want to be sure if that thing can throw an error so I can decide what to do with it.

        • fkn@lemmy.world
          link
          fedilink
          arrow-up
          3
          arrow-down
          1
          ·
          edit-2
          1 year ago

          Java doesn’t have to declare every error at every level… Go is significantly more tedious and verbose than any other common language (for errors). I found it leads to less specific errors and errors handled at weird levels in the stack.

    • herrvogel@lemmy.world
      link
      fedilink
      arrow-up
      2
      arrow-down
      3
      ·
      1 year ago

      There’s nothing sane and readable about how Go insists you format dates and time. It is one of the dumbest language features I’ve ever seen.