Ktor Client の Pipeline を活用したクリーンなエラーハンドリング

この記事は はてなエンジニア Advent Calendar 2025 24日目の記事です。

🎄 Happy Holidays! 2025年も残すところわずかですね。キンダープンシュがおいしい季節です。

ホリデーシーズンの家で、ストーブと Kotlin 言語モチーフのヤカン、クリスマスツリー、クリスマスチキンが写っている、ファンタジー風の画像。


この記事は Kotlin 2.3.0 および Ktor 3.3.3 に準拠しています。また、記事中に挿入しているイラスト画像は Nano Banana Pro により生成しています。

Ktor は JetBrains が開発する Kotlin 向けの HTTP フレームワークです。HTTP サーバーだけでなく、HTTP クライアントも提供されています。Kotlin coroutines を活用した非同期処理や、プラグインシステムによる高い拡張性が特徴です。

HTTP クライアントで通信する際、リクエストのタイムアウトやレスポンスの不整合など、さまざまな例外が発生する可能性があります。

ネットワーク層でこれらの例外をあらかじめドメインエラーに変換しておくと、利用側で実装の詳細を知る必要がなくなり、クリーンなエラーハンドリングが行えます。

今回は Ktor Client の Pipeline という仕組みを利用して、クリーンなエラーハンドリングを実現する方法について紹介します。

続きを読む