こんにちは!ギフティでエンジニアをしているむぎ (@mugi_1359) です。普段は Ruby を使った ToB 向けプロダクトの開発を担当しています。
今回は、2025年1月に開催された 東京Ruby会議12 の中から、個人的に特に印象に残ったセッションである、morihirok さんの「混沌とした例外処理とエラー監視に秩序をもたらす」を中心にご紹介します。
セッションの概要
セッション資料はこちらからご覧いただけます。
このセッションでは、スピーカーが実際に関わったプロダクトでの経験をもとに、次のような内容が語られました。
- 混沌としたエラー処理が引き起こした問題
- それに対するチームの取り組みや解決策
また、「エラー」という抽象的な概念を整理するために文献を紹介し、以下の3分類を基にエラーハンドリング手法について解説していました。
- Expected/Accepted
- Expected/UnAccepted
- UnExpected
この分類を活用することで、エラー処理がより効果的に整理できるという点が印象的でした。
印象に残ったポイント
1. ライブラリのエラーに引きずられない設計
ライブラリが UnAccepted
なエラーを返したとき、ついアプリケーション全体がその挙動に引っ張られてしまいがちです。「ライブラリがこう返すから仕方ない」と思ってそのまま処理してしまった経験、私にもあります。
ただ、ライブラリはあくまで手段であって目的ではありません。アプリケーションのコンテキストを軸に、ライブラリのUnAcceptedに依存しない設計をするべきだと改めて気付かされました。改めてこの視点を持つちながら、もっと柔軟で堅牢なアプリケーションを組みたいとハッとさせられました。
2. 「あり得ない」事象を早めにクラッシュさせる
「あり得ない」と思っていたエラーが握りつぶされたことによって、該当のエラーに開発者が気付けず問題発覚が遅れた、という話も印象的でした。私自身、エラー調査の際に「なんでこんなところが原因だったんだ?」と驚くような深い部分に潜むエラーを追いかけた経験があります。
エラーを握りつぶさず、早い段階でクラッシュさせる仕組みを持つことで、問題を迅速に発見しやすくなる。これは、普段の開発でも意識しておきたいポイントだと思いました。
全セッションを通して
今回のテーマは「Rubyと暮らす」。どのセッションも、登壇者がどのようにRubyを活用しているのか、そしてどう楽しんでいるのかが伝わってきました。
セッションはWeb開発に直結する話題から、レトロゲームエンジンやインターネットプロトコルのような独自のテーマまで幅広く、それぞれが「Rubyと暮らす」方法を教えてくれました。その上で私は、「Rubyとどのように暮らしたいのかを改めて考えたい」「自分がRubyと暮らす幅と深さを更に広げたい」と強く実感しました。
まとめ
今回は、東京Ruby会議12 のセッション「混沌とした例外処理とエラー監視に秩序をもたらす」を中心に、全体の感想をお話ししました。ご紹介したセッションの他にも幅広いセッションがあり、それぞれの人がそれぞれの方法で「Rubyと暮らしていること」を強く実感しました。そしてそれに強くモチベーションを受けました。
沢山の学びとワクワクをくれた 東京Ruby会議12 のスピーカーや運営の方々、そして関わった全ての方々に感謝いたします。本当にありがとうございました!