LoginSignup
6

More than 5 years have passed since last update.

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

Posted at

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

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

ちょっと解説

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

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

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

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6