問題
- カスタムExceptionHandlerを使ってエラーレポートを収集している
- アプリケーションで独自に定義しているExceptionを使ってエラーレスポンスを構築する仕組みが存在する
- (2) と衝突してしまうため
$dontReport
に無視する例外を追加していた - (3) の数が多くなってきたので名前空間でマッチさせて無視したくなった
解決法
shouldReport(Exception $e)
をオーバーライドして get_class()
の戻り値で判定した。
public function shouldReport(Exception $e)
{
$className = get_class($e);
$knownError = Str::startsWith($className, 'App\Exceptions');
if ($knownError) {
return false;
}
return parent::shouldReport($e);
}