【PHP】try、catch文使い方まとめ。

ていうかめも。自分用。

try {
	// timestampが偶数だった場合例外を投げてみる
	$isEven = false;
	if(time()%2 == 0) $isEven = true;
	if($isEven) throw new Exception('timestamp is even now.');
	
	echo '--------------------'."\n";
	echo 'start try block'."\n";
	echo '--------------------'."\n\n";
	
	echo 'timestamp is odd now.';
	
	echo "\n\n".'--------------------'."\n";
	echo 'end of try block'."\n";
	echo '--------------------'."\n";
	
} catch(Exception $e) {
	echo '--------------------'."\n";
	echo 'start catch block'."\n";
	echo '--------------------'."\n\n";
	
	echo $e->getMessage();
	
	echo "\n\n".'--------------------'."\n";
	echo 'end of catch block'."\n";
	echo '--------------------'."\n";
}

■例外が投げられなかった場合のソース

--------------------
start try block
--------------------

timestamp is odd now.

--------------------
end of try block
--------------------

■例外が投げられた場合のソース

--------------------
start catch block
--------------------

timestamp is even now.

--------------------
end of catch block
--------------------

例外が投げられるとそれ以降のtryブロックの実行は中断されcatch句により補足される。同時にExceptionオブジェクト受け取ることが出来、その例外クラスを用いた処理を記述する事が出来る。というわけ。