Exceptionを拡張し、例外をスローしたものに関するより多くのデータを返す機能を追加するカスタム例外クラスがあります。ここでの問題は、カスタム例外と標準例外をキャッチしたいが、同じコードブロックでそれらを処理したい場合、新しい関数を作成する以外にそれを行う方法がわかりません(これはしたくないです)私がこれを使いたいすべての場所のためにやってください)。
try {
} catch(QM\DebugInfoException $e) {
// I don't want to duplicate the Exception handling code up here
}catch(Exception $e){
$db->rollBack();
$return['error'] = 1;
$return['errInfo'] = array(
'code' => $e->getCode(),
'message' => $e->getMessage(),
'trace' => $e->getTraceAsString()
);
// I'd rather handle both here, and just add data on to $return['errInfo']
switch ($ExceptionType) {
case 'QM\DebugInfoException':
$return['errInfo']['extraInfo'] = $e->getExtraInfo();
break;
}
}
誰かがこれについて何か良いアイデアを持っていますか?