この記事は はてなエンジニア Advent Calendar 2025 24日目の記事です。
🎄 Happy Holidays! 2025年も残すところわずかですね。キンダープンシュがおいしい季節です。

この記事は Kotlin 2.3.0 および Ktor 3.3.3 に準拠しています。また、記事中に挿入しているイラスト画像は Nano Banana Pro により生成しています。
Ktor は JetBrains が開発する Kotlin 向けの HTTP フレームワークです。HTTP サーバーだけでなく、HTTP クライアントも提供されています。Kotlin coroutines を活用した非同期処理や、プラグインシステムによる高い拡張性が特徴です。
HTTP クライアントで通信する際、リクエストのタイムアウトやレスポンスの不整合など、さまざまな例外が発生する可能性があります。
ネットワーク層でこれらの例外をあらかじめドメインエラーに変換しておくと、利用側で実装の詳細を知る必要がなくなり、クリーンなエラーハンドリングが行えます。
今回は Ktor Client の Pipeline という仕組みを利用して、クリーンなエラーハンドリングを実現する方法について紹介します。
続きを読む