実践 Java「例外処理 throwsで呼び出し側に処理を引き継ぎ変換」

java

この記事の概要

Aクラスで、Bクラスの例外をそのままthrowするのでなく、catchして変換した内容をthrowする実装例を説明します。

【参考】一般的な設計のポイント
・パッケージ間のシンプルな結合を実現するために、入口クラスのファサード(Facade)を作成
・入口1つで返却される例外の種類も2つ(処理続行、処理中断)くらいだとシンプル
・クラス間の結合は疎結合を目指す。それぞれの独立性が高いこと。変更しても他のクラスへの影響が少ない。

実装説明

■クラス一覧

クラス名パッケージ説明
Exception1excep独自例外クラス
 ・Aクラスでthrow
Exception2 excep 独自例外クラス
 ・Bクラスでthrow
AapackAクラス
 ・Bクラスの呼び出し
 ・Exception2(Bクラスの例外)をcatchし、Exception1をthrow
※ここで送付する例外クラス(レポート)の変換を実施
EX)100件あるものを「処理続行」、「処理中断」の2種に変換できる
100件をtry catchでハンドリングし、throwは2種類
BbpackBクラス
 ・Exception2 の例外をthrow
Main実行クラス
 ・Aクラスの呼び出し
 ・Exception1 (Aクラスの例外)をcatchし、Exception1をthro

■Exception1クラスの実装

■Exception2クラスの実装

■Aクラスの実装

■Bクラスの実装

■Mainクラスの実装

■実行結果

タイトルとURLをコピーしました