エラーなどを返すためにメインクラス内に例外を作成する標準が使用されています...問題は、すべての標準スニフがこれを好まないことです。このために独自のスニフを書いていますが、なぜこれが望ましくないのかを尋ねてみようと思いましたか?
たとえば、次のようなものがあります。
<?php
class FOO_EXCEPTION extends Exception { }
class FOO_EXCEPTION_BAR extends FOO_EXCEPTION { }
class FOO_EXCEPTION_POLE extends FOO_EXCEPTION { }
class FOO
{
public function MethodDoingSomething()
{
if('some condition happens') {
throw new FOO_EXCEPTION_BAR();
}
if('some other condition') {
throw new FOO_EXCEPTION_POLE();
}
...
}
}
?>
これにより、コードは呼び出し元に何が起こったかを示すためにさまざまな例外を返すことができますが、専用の try/catch が利用できない場合でも、基本的な例外がキャッチされる可能性があります。
これは、エラーを処理するためにコール スタックの上位にあるコンポーネントにエラーの性質が返される可能性があるため、データベースやその他の外部オブジェクトを操作する場合に便利です。
たとえば、ファイルを削除しようとしていてファイルが存在しない場合、コードは例外をスローする可能性がありますが、ファイルが存在しないことを気にしない場合、呼び出し元にはこれを無視するオプションがあります。とにかく削除します。ただし、別の呼び出し元は、ファイルが削除されたときに存在すると想定されていたファイルがないとエラーになる可能性があります。