Kotlinにおける「カスタム例外の作成」とは、標準で用意されている例外クラス(例:IllegalArgumentExceptionやIOExceptionなど)では対応しきれない、アプリケーション固有のエラー状況を表現するために、自分自身で例外クラスを定義することを意味します。これにより、エラーの種類をより明確に区別し、適切な例外処理を行うことが可能になります。
カスタム例外を作成する基本構文
Kotlinでは、すべての例外クラスはThrowableクラスを継承しており、通常はExceptionを継承してカスタム例外を定義します。
この例では、MyCustomExceptionという名前のカスタム例外クラスを定義しています。コンストラクタでエラーメッセージを受け取り、スーパークラスのExceptionにそのメッセージを渡しています。
使用例(例外のスローとキャッチ)
カスタム例外は、通常のthrow文を使ってスローし、try-catchブロックで捕捉します。
このコードでは、validateAge関数内で条件を満たさない場合にカスタム例外をスローし、main関数でその例外をキャッチしています。
カスタム例外に追加情報を持たせる
必要に応じて、追加のプロパティやロジックを持たせることもできます。
呼び出し側ではこのerrorCodeプロパティを用いて、より詳細なエラー処理を行うことができます。
カスタム例外のメリット
-
例外の意味が明確になる
「何が問題なのか」がクラス名から直感的に理解できるようになります。 -
catchブロックで細かく処理を分けられる
異なる種類のエラーに対して、異なる処理を実行することができます。 -
保守性の向上
アプリケーションの拡張やデバッグが容易になります。
補足:Kotlinでは「検査例外(checked exceptions)」は存在しません
Javaとは異なり、Kotlinはすべての例外を**非検査例外(unchecked exceptions)**として扱います。したがって、関数にthrowsキーワードを書く必要はなく、呼び出し側もtry-catchで必ず捕捉する義務はありません。
生成日:2025/05/04