🎃

PHP 例外処理について(基本)

2022/02/21に公開

はじめに

実際の開発現場でよく見る例外処理。
PHPの基本について整理するために、こちらに記載します。

try~catch~finally構文基本形

try {
	// 例外が発生する可能性のあるコード
}
catch(Exception $e) { 
	// 例外発生時の処理
}
finally {
 // 例外の有無に関わらず実行されるコード
}

基本例文

try {
	Test::create([
	name => "tanaka",
	favorite => "sports"
        ]);
}
catch(Exception $e) { 
	echo '捕捉した例外: ',  $e->getMessage(), "\n";
}
finally {
	echo "最後まで処理を実行しました";
}

例外クラスで呼び出せるメソッド例

getMessage()・・・例外メッセージ(よく使う)
getCode()・・・例外コード
getFile()・・・例外が発生したファイル名
getLine()・・・例外が発生した行数
getPrevious()・・・前の例外

例外クラスについて

Exceptionクラスが全ての例外の基底クラス。
例外をキャッチするために、できるだけ下位のクラスを使用するべきであるため、Exceptionクラスをそのまま使うことは避けたほうが良いかもしれません。
※vendor/guzzlehttp/guzzle/src/Exceptionディレクトリ内にその他のクラスが入ってます。

使用用途

このような例外処置の使い道として、様々ありますが、
よく見る例ですと、DBへの保存処理で使われています。
DBへの保存に失敗したら、エラーを吐き出し、原因を特定し、改善する流れです。

Discussion