在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();
}
通過異常處理,應用程序可以優雅地應對數據庫連接失敗,並向用戶提供有價值的提示信息。