<?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);
?>
