PHP處理錯誤的方式:
1.簡單的die()語句:die1.php 中的兩種語法方式
2.自定義錯誤和錯誤觸發器 error2.php
錯誤處理器(處理系統錯誤):自定義函數來處理錯誤,錯誤在PHP中對錯誤有級別區分
錯誤觸發器(處理邏輯上的錯誤):假如有一段代碼,它是來接收年齡,如果認爲年齡大於120,就認爲是一個錯誤:error3.php
3.錯誤日誌
- 簡單的die()語句:die1.php
<?php
//***************die的使用方式
if (!file_exists(aaa.txt)){
die("文件不存在");
}else {
//打開文件
}
//或者這樣用
file_exists(aaa.txt) or die("文件不存在!!!");
echo "ok";
—————————————————————————————
- 自定義錯誤和錯誤觸發器:error2.php
<?php
//模擬出錯
//沒有分號:Parse error: syntax error, unexpected '$i' (T_VARIABLE)
//$i=60
//$i=$i+45;
//echo $i;
//文件打開錯誤:Warning: fopen(aaatxt): failed to open stream
//warning錯誤,代碼會繼續執行
//$fp=fopen(aaa.txt, r);
//echo "ok";
//定義了一個函數
//回顯效果: 錯誤號是:2
// 錯誤信息:fopen(aaatxt): failed to open stream: No such file or directory
function my_error($errorNo,$errorMSG){
echo "錯誤號是:$errorNo".'<br>';
echo "錯誤信息:$errorMSG";
exit();
}
set_error_handler("my_error",E_WARNING);
$fp=fopen(aaa.txt, r);
————————————————————————
- 錯誤日誌&錯誤觸發器:error3.php
<?php
//自定義錯誤函數
function my_error1($errorNo, $errorMSG){
$err_info="錯誤號.$errorNo";
echo $err_info;
//保存錯誤信息
error_log($err_info."\n\r",3,"my_err.txt");
}
//指定錯誤級別,保存相對路徑
set_error_handler("my_error1",E_USER_WARNING);
$age=700;
if ($age>100){
//調用觸發器,同時指定錯誤級別
trigger_error("年齡過大,無效",E_USER_WARNING);
//exit();
}
——————————————————————