top | item 41500585 (no title) throwaway173920 | 1 year ago IMO the formatting of the error string returned by errors.Join is atrociously opinionated and not very logging-friendly - it adds a newline between each error message. I know I'm not the only one that has this opinion discuss order hn newest kjksf|1 year ago It's a trivial function: https://cs.opensource.google/go/go/+/refs/tags/go1.23.1:src/...You could write your own errorsJoin() and change Error() method to suit your needs.But really in this particular scenario you would be better served by something like: func errorsConcat(err1 error, err2 error) error { if (err1) { return err1; } return err2; } And then do: err = errorsConcat(err, f.Close())In the scenario described in this article, errors.Join() would most often reduce to that (in terms of what Error() string would produce). Matl|1 year ago Wouldn't you use slog if you want logging friendly?
kjksf|1 year ago It's a trivial function: https://cs.opensource.google/go/go/+/refs/tags/go1.23.1:src/...You could write your own errorsJoin() and change Error() method to suit your needs.But really in this particular scenario you would be better served by something like: func errorsConcat(err1 error, err2 error) error { if (err1) { return err1; } return err2; } And then do: err = errorsConcat(err, f.Close())In the scenario described in this article, errors.Join() would most often reduce to that (in terms of what Error() string would produce).
kjksf|1 year ago
You could write your own errorsJoin() and change Error() method to suit your needs.
But really in this particular scenario you would be better served by something like:
And then do: err = errorsConcat(err, f.Close())In the scenario described in this article, errors.Join() would most often reduce to that (in terms of what Error() string would produce).
Matl|1 year ago