在PHP开发中,错误和异常处理是保障应用程序稳定性的重要技能。通过合理管理错误与异常,可以避免程序崩溃,并提供清晰的反馈信息。
错误通常由语法或逻辑问题引起,而不是意外情况。PHP在发生错误时,会生成错误消息并可能终止脚本执行。
开发者可以通过 error_reporting() 设置需要报告的错误类型,通过 set_error_handler() 定义自定义错误处理函数。
error_reporting(E_ALL); // 报告所有错误类型
function error_handler($errno, $errstr, $errfile, $errline) {
// 自定义错误处理逻辑
echo "Error: $errstr in $errfile on line $errline";
}
set_error_handler('error_handler');
异常是在程序运行时可能出现的特殊事件,例如访问不存在的文件或数据库错误。与错误不同,异常不会立即终止程序。
可以使用 try-catch 结构捕获异常,try 块包含可能抛出异常的代码,catch 块处理异常逻辑。
try {
// 可能抛出异常的代码
throw new Exception('Error occurred');
} catch (Exception $e) {
// 异常处理逻辑
echo "Exception: " . $e->getMessage();
}
下面示例展示如何在数据库连接失败时使用异常处理:
try {
$conn = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'password');
// 执行查询或其他数据库操作
} catch (PDOException $e) {
echo "Database connection failed: " . $e->getMessage();
}
通过异常处理,应用程序可以优雅地应对数据库连接失败,并向用户提供有价值的提示信息。