【PHP】异常处理
这是我学习异常处理的记录。
例外处理是指针对异常情况进行的处理。
为确保能够应对程序运行时出现的问题,请事先准备好适应的解决方案。
・进行除以零的除法运算
・指定的文件不存在
当发生类似问题时,处理方法被称为异常处理,其方式是“结束处理并显示警告消息”。
需要处理异常情况。
如果没有异常处理的话…
出现问题时,如果没有意识到并及时处理,可能会导致严重故障。因此,需要有一套机制来报告异常并进行相应处理。
异常处理流程
1. 引发异常
通过使用 throw,可以引发异常。
throw new Exception('エラーメッセージ');
只抛出异常是不足以进行异常处理的。
为了进行异常处理,需要创建接收并处理抛出的异常的程序。
2. 捕捉异常情况
为了捕捉和处理通过 throw 语句抛出的异常,可以使用 try-catch-finally 组合。
try{
// 通常処理(例外が発生しうる処理)
} catch (Exception $e) {
// 例外処理
} finally {
// 例外でも通常でも必ず実行する処理(省略可)
}
在中国使用的示例
当进行除法运算时,若分母为0,则会产生错误。
以下是关于当分母为0时抛出异常处理的示例。
若未抛出异常,则会执行除法运算操作。
<?php
function div($a, $b) {
if ($b === 0) {
throw new Exception('分母には0以外を入力してください');
}
return $a / $b;
}
try {
echo div(10, 2) . PHP_EOL;
echo div(10, 0) . PHP_EOL;
} catch (Exception $e) {
echo $e->getMessage() . PHP_EOL;
}
5
分母には0以外を入力してください
在处理异常情况时的重要事项。
例外を握りつぶさない
当我们抑制异常时,在捕获异常后不做处理。
→问题仍然存在,程序将继续运行。
观察“使用示例”中的除数错误示例……。
function div($a, $b) {
if ($b === 0) {
throw new Exception('分母には0以外を入力してください');
}
return $a / $b;
}
try {
echo div(10, 2) . PHP_EOL;
echo div(10, 0) . PHP_EOL;
} catch (Exception $e) {
} //分母が0でも、何も表示されない!!=例外を握りつぶす
汇总异常处理
编写安全代码时,异常处理是重要的一部分。还可以创建自定义的Exception类并随时进行记录。