- 使用die()方法
- 自定義錯誤處理
die ($message)示例:< /b><代碼><代碼>
// 顯示默認錯誤處理的 PHP 代碼
$file
=
fopen
(
"engineer.txt"
,
"w"
);
?>
注意。運行上面的代碼,engineer.txt文件不見了,然後會顯示運行時錯誤。運行時錯誤:
PHP 警告:fopen (engineer.txt):打開流失敗:/home/dac923dff0a2558b37ba742613273073.php 中的權限被拒絕在第 2 行為防止出現此錯誤,請使用 die() 函數。 die() 函數實現如下:示例:
// PHP 代碼檢查錯誤
// 如果沒有文件
// 然後退出腳本
if
(!
file_exists
( "engineer.txt"
)) {
die
(
" 文件不存在 "
);
}
// 如果文件存在
// 然後繼續
else
{
$file
=
fopen
(
"engineer.txt"
,
"w"
);
}
?>
注意。如果文件是工程師.txt 丟失,它將顯示輸出。
退出文件不存在
自定義錯誤處理程序:創建自定義PHP 中的錯誤處理程序非常簡單。創建一個可以在 PHP 發生錯誤時調用的函數。語法:error_function ($error_level, $error_message, $error_file, $error_line, $error_context)
參數:該函數採用上述五個參數,如下所述:- $error_level:這是必填參數,必須是整數。有預定義的錯誤級別。
- $error_message:這是一個必需參數,這是用戶要打印的消息。
- $ error_file:是可選參數,用於指定錯誤發生的文件。
- $error_line:是可選參數,用於指定錯誤所在的行號發生了。
- $error_context:這是一個可選參數,用於指定一個數組,其中包含每個變量及其在發生錯誤時的值。
error_level:這些是可能的錯誤級別,如下所列:- 1:.E_ERROR:致命的運行時錯誤已停止
- 2:E_WARNING:非致命的運行時錯誤,腳本執行停止
- 4:E_PARSE:解析器生成的編譯時錯誤
- 8:E_NOT ICE:腳本遇到了可能是錯誤的東西
- 16:E_CORE_ERROR:在腳本初始運行期間發生的致命錯誤
- 32:E_CORE_WARNING:在初始腳本運行期間發生的非致命錯誤
- 8191: E_ALL:所有錯誤和警告
set_error_handler() 函數:創建 myerror() 函數後,您需要安裝自定義處理程序錯誤,因為 PHP 通常會處理它,但如果用戶正在執行自定義錯誤處理,那麼用戶應該設置它而不是參數和將 myerror 函數作為字符串傳遞。示例:
// 創建打印消息的我的錯誤函數
// user
function
myerror (
$error_no
,
$error_msg
) {
echo
"錯誤:[$error_no] $error_msg"
;
echo
"Now Script will end "
;
//如果出現錯誤,腳本必須被停止
die
();
}
// 設置 set_error_handler
set_error_handler (
"myerror"
);
$a
= 10;
$b
= 0;
// 這將產生錯誤
echo
(
$a
/
$b
) ;;
?>
輸出:錯誤:[2]除法b y 零 現在腳本將結束
輸出:總是嘗試使用自定義錯誤處理來處理錯誤,因為它會根據用戶顯示更具體的消息,這對用戶很有用。如果錯誤沒有用自定義錯誤處理來處理,那麼就會發生錯誤,那麼腳本將默認停止,但如果它使用自定義錯誤處理來處理錯誤,它可以在顯示錯誤消息後繼續執行腳本。