PHPのエラー処理において、「例外の投げ方とキャッチ(throw と try-catch 構文)」は、予期しない状況(例:無効な入力やファイルの読み込み失敗など)に対処するための重要な手法です。以下に詳しく説明します。
1. 例外の基本構文
PHPで例外処理を行うには、主に次の3つのキーワードを使用します:
-
throw: 例外を投げる -
try: 例外が発生する可能性のあるコードを囲む -
catch: 発生した例外を受け取って処理する
2. 例外の投げ方(throw)
PHPでは、throw キーワードを使って Exception クラスのインスタンスを投げることができます。
例
この関数では、0で割ろうとしたときに例外が発生します。
3. 例外のキャッチ(try-catch)
try ブロック内で例外が投げられると、catch ブロックがその例外を受け取って処理します。
例
このコードは「エラー発生: 0で割ることはできません。」と表示されます。
4. 複数の例外のキャッチ
PHP 7以降では、複数の異なる例外クラスを | を使って一度にキャッチできます。
または、個別に catch ブロックを複数書くことも可能です。
5. 自作の例外クラス
PHPでは Exception クラスを継承して独自の例外クラスを定義できます。
6. finally ブロック(必要に応じて)
try-catch に加えて finally ブロックを使うと、例外の有無に関係なく常に実行したい処理(例:リソース解放)を書くことができます。
まとめ
| 構文 | 目的 |
|---|---|
throw |
例外を発生させる |
try |
例外が発生する可能性のある処理を囲む |
catch |
発生した例外を捕捉し、適切に処理する |
finally |
例外の有無にかかわらず必ず実行される処理 |
生成日:2025/05/03