国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP中使用register_shutdown_function函數截獲fatal error示例

2024-05-04 23:34:36
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP中使用register_shutdown_function函數截獲fatal error示例,需要的朋友可以參考下
 

我們在做項目時,偶爾會因為不謹慎而出現fatal error。如果display_errors設置成off,那用戶將會看到的是一個空白的頁面。若設置成了on,那fatal error的信息將會呈現出來(當然正常的人都不會這樣干)。

那我們有什么方法可以提前截獲到fatal error,并用我們自己自定義的友好形式反饋給用戶呢。PHP中有一個叫做  register_shutdown_function 的函數,可以讓我們設置一個當執行關閉時可以被調用的另一個函數.也就是說當我們的腳本執行完成或意外死掉導致PHP執行即將關閉時,這個函數將會被調用。
下面請看一個例子:

復制代碼代碼如下:

<?php
$flag = false;
function deal_error(){
    global $flag;
    if (!$flag){
        die("粗問題啦,請稍后再試");
    }
    return false;
}
register_shutdown_function("deal_error");
//將因為致命錯誤而失敗
//$obj = new NotExistClass(); //引入未定義的類
require('./test.php');
$flag = true;

我們在程序入口處,設置flag為false,最后設置成true,表明程序正常執行。若flag最后不為true,說明在中間某個地方死掉了,此時就會調用register_shutdown_function,輸出我們自定義的錯誤結果。

 

如上面的類未定義、引入不存在的文件(必須使用require或require_once)等會導致fatal error。當然,要是你程序是缺個標點或者多了個特殊字符啥的,那就沒辦法了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德令哈市| 弥勒县| 广安市| 翁源县| 晋城| 金阳县| 五家渠市| 鄯善县| 即墨市| 隆回县| 金溪县| 台前县| 新宁县| 车致| 谷城县| 五台县| 乳山市| 盐山县| 永定县| 正安县| 金昌市| 沙雅县| 峨边| 海兴县| 旺苍县| 汉川市| 阳城县| 双峰县| 珲春市| 苏尼特左旗| 蕉岭县| 张家港市| 灵璧县| 阜城县| 大埔县| 社旗县| 沅陵县| 天等县| 安阳县| 五莲县| 昌黎县|