原則として、Exception のインスタンスをスローしないようにしています。なぜなら、これは何が問題なのかについて多くの情報を伝えないからです。
しかし、私はこのように見えるかなりの数の空の例外クラスを取得していることに気づきました...
class DataNotFoundException extends Exception {
// just a tagging class
}
したがって、機能的にはこのクラスは Exception と同じです。唯一の機能的な意味は、これができるようになったことです...
try {
... some code which throws exceptions ...
} catch (DataNotFoundException $dnfe) {
... do stuff ...
} catch (OtherException $oe) {
... do other stuff ...
}
私の質問は、膨大な数の小さな例外クラスを持つことと、単に例外のインスタンスをスローすることの間のバランスはどこにあるかということです。新しい例外クラスをいつ導入するかについてのガイドラインはありますか?