PHP 例外処理

<?php

try {
	throw new Exception('エラーが発生しました');
} catch (Exception $e){
	
}

?>

tryブロック内で例外が発生した場合、catchブロック内で処理、処理終了後、以降へ進む。
tryブロック内で何も起こらなかった場合、catchブロックは無視され、以降の処理へ進む。

サンプル

<?php

class Calc
{
	public static function division($int1, $int2)
	{
		try {
			if ($int2 == 0){
				throw new Exception('0で割ろうとしました<br>');
			}
			$answer = $int1 / $int2;
			echo $answer. "<br>";
			echo '割り算が終了しました<br>';
		} catch (Exception $e){
			echo $e->getMessage();
			echo '割り算が異常終了しました';
		}
	}
}

Calc::division(10, 2);
Calc::division(10, 0);
?>

もう少し分かり易くするため、個人の総量規制で考えてみます。

<?php

class Vcontrol
{
	public static function calc($salary, $loan)
	{
		if($salary > 0){

			try {
			 if ($salary * 1/3 < $loan){
				throw new Exception('借入総額が年収の1/3を超えています。');
			}
				$available = $salary * 1/3 - $loan;
				echo '貸付可能額は' .round($available,1). '万円です。<br>';
			} catch (Exception $e){
				echo $e->getMessage();
				echo '総量規制により貸付できかねます。<br>';
			}
		} else {
			echo '貴殿の年収が足りません。<br>';
		}
		
	}
}

Vcontrol::calc(500, 20);
Vcontrol::calc(300, 200);
Vcontrol::calc(0, 50);
?>