giftee Tech Blog

ギフティの開発を支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信しています。

東京Ruby会議12セッションレポート『混沌とした例外処理とエラー監視に秩序をもたらす』

eyecatch

こんにちは!ギフティでエンジニアをしているむぎ (@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 のスピーカーや運営の方々、そして関わった全ての方々に感謝いたします。本当にありがとうございました!