• Wilk@masto.bike
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    @gnus_migrate @nebiros In Go we consider errors as values and not fatal or exceptions. For example sql.ErrNoRows , io.EOF, custom… It’s why they are returned and used like any other values.

    • gnus_migrate@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      The difference is that you can’t have a generic mechanism in Go for error handling. It’s basically up to the programmer, and every if error != nil line is a potential source of bugs.

    • zygo_histo_morpheus@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Errors are values in rust too. There are a couple of differences, like the ? syntax, rust returning a value or an error instead of a value and an error (or nil) for example, but everything you wrote applies to rust as well.