PHPのExceptionの処理で、catchしたら、どうするのがいいのか

  • 6
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

PHPのException処理で、catchしたら、どうするのがいいのかと考えた末に、自分は、こうしています。

catch (\Exception $e) {
    throw new \HogeException('error-message', 0, $e);
}

ちょっと解説

今まで自分が見てきたコードでは、下記のような書き方をしているのを幾つか見ることがあった。

catch (\Exception $e) {
    throw new \HogeException($e->getMessage());
}

ただ、これだとせっかくcatchしたexceptionのインスタンスをほぼ捨ててしまっていて、もったいない(障害等で調査するときのネタを捨ててしまっていることになる)。

最初のコードの書き方であれば、受け取ったインスタンスを捨てずに済み、障害時にも必要な情報を取得することができやすくなった気がする。。。たぶん。。。