これは、他の人のコードでスローされた例外の例外処理に関する一般的な質問です。
次の Codeigniter PHP ライブラリを使用しています: https://github.com/sepehr/ci-mongodb-base-model
これは、MongoDB のこのライブラリに依存しています: https://github.com/alexbilbie/codeigniter-mongodb-library/tree/v2
最初のライブラリで関数を呼び出すと、2 番目のライブラリから関数が呼び出されます。2 番目のライブラリが、自分のコードで処理できるようにしたい例外をスローすることがありますが、例外スロー呼び出しの周りに try-catch ステートメントがあります。例外を画面に出力します)。
私の質問は:
最初と 2 番目のライブラリのすべての関数を変更せずに (つまり、すべての try キャッチを削除する)、スローされた例外をどのように処理できますか?
編集
2 番目のライブラリの関数は次のように配置されます。
class SomeClass
{
function do_something()
{
...
try {
...
}
catch {
$this->_show_error('Update of data into MongoDB failed: ' . $exception->getMessage(), 500);
}
}
function _show_error($error_message = '', $response_code = 500)
{
//Inbuilt Codeigniter helper function which can be disabled from printing the error to the screen
show_error($error_message, $response_code);
}
}
エラーが出力されないようにすることはできますが (これはもちろんデバッグのためだけです)、エラーが発生したことを認識して処理する方法はまだありません。