俺はいったい何をしたかったのか不明な5年くらい前のコミット。

os.Exit(0) を削除するのは分かる。だが、fmt.Fprintln(os.Stderr,err.Error()) を fmt.Fprintln(os.Stderr,err) に変えた意味が分からん(素の err を Fprintln に渡しても期待どおりエラーを表示できないと思う。たぶん error は Stringer を実装していないはず)

github.com/nyaosorg/nyagos/com

フォロー

@zetamatta
%v の挙動として,タイプ・アサーションで error 型と判定された場合は Error() メソッドの返り値を出力します。

```go:fmt/print.go
switch v := p.arg.(type) {
case error:
handled = true
defer p.catchPanic(p.arg, verb, "Error")
p.fmtString(v.Error(), verb)
return

case Stringer:
handled = true
defer p.catchPanic(p.arg, verb, "String")
p.fmtString(v.String(), verb)
return
}
```

なんで

```go
fmt.Fprintln(os.Stderr, err)
```

は間違いではないっス

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。