カーネルは、発生したエラーなどの内容を番号で表現しそれを伝える仕組みを持っている。 状況に応じて適切な番号をカーネルが返してくれるので、開発者はその番号を見ることで状況や原因を知ることができる。 libcという C のライブラリを通してシステムコールを呼んだ場合、カーネルが返した番号がerrnoという変数にセットされる。この値を取得することで、適切なエラーハンドリングやロギングが可能になる。 この記事では、 Rust でerrnoを取得する方法やその具体例を見ていく。 動作確認は以下の環境で行った。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 24.04.4 LTS Release: 24.04 Codename: noble $ rustc --vers

