异常是 php 中表示程序运行时错误的对象。可以使用 try...catch 语句捕获和处理异常:在 try 块中执行可能引发异常的代码。在 catch 块中使用 $e 对象访问异常的详细信息,包括消息、代码和文件路径。
PHP 异常处理:捕获和处理运行时错误的指南
什么是异常?
在 PHP 中,异常是表示程序执行期间发生错误或意外状态的对象。它们通常用来处理不可预期的情况,例如文件不存在或数据库连接失败。
如何捕获异常?
可以使用 try...catch 语句来捕获异常:
try {
// 代码块可能会引发异常
} catch (Exception $e) {
// 当发生异常时执行的代码
}
在 try 块中执行的任何代码都可能引发异常,并且会在 catch 块中得到处理。
如何处理异常?
在 catch 块中,可以访问引发异常的对象 $e。该对象提供有关异常的详细信息,包括错误消息、代码和文件路径。
try {
// 代码块可能会引发异常
} catch (Exception $e) {
echo $e->getMessage(); // 打印错误消息
echo $e->getCode(); // 打印错误代码
echo $e->getFile(); // 打印异常发生的文件路径
}
实战案例
文件读取:
try {
// 打开文件
$file = fopen('file.txt', 'r');
// 读取文件内容
$contents = fread($file, filesize('file.txt'));
} catch (Exception $e) {
if ($e->getCode() === 2) { // 文件不存在
echo '文件不存在。';
} else {
echo '发生未知错误:' . $e->getMessage();
}
}
数据库连接:
try {
// 创建数据库连接
$conn = new PDO('<a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a>:host=localhost;dbname=mydb', 'user', 'password');
} catch (PDOException $e) {
if ($e->getCode() === '2002') { // 数据库连接失败
echo '无法连接到数据库。';
} else {
echo '发生未知错误:' . $e->getMessage();
}
}