JavaScriptを有効にしてください

なぜerrnoが必要か

 ·  ☕ 1 min read
  • 例えばfopenなど, そもそも構造体やポインタを返すようなものだと, エラーハンドリングがしにくい

  • じゃあ常にタプルっぽく返せばいいんじゃない?

    • エラーハンドリングが必要ない場合, 普通のCだと非常に煩雑になり得る
      • メモリの解放とかめんどいし
    • そこで, グローバルなerrnoが設計された
  • 現在の多くの言語ではタプルを返すことができるので, errnoは意味不明感あるけど, 上のように考えると合理的

  • 例えばGolangだと下のように書けたり, そもそもtry-catchが存在するから現代ではerrnoは古代遺跡

1
2
3
hoge, err := some()
if err != nil {
}
  • ちなみにGoと例外処理というお話もあり, ここらへんは言語思想の垣間見えるおもしろポイント
共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web