国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

API開發(fā) – 讓異常變得優(yōu)雅

nemo / 2347人閱讀

摘要:公司在做開發(fā)作為程序員難免會(huì)出點(diǎn)小哪如何捕獲呢。在上出現(xiàn)通常會(huì)出現(xiàn)閃退和無法解析錯(cuò)誤一直加載用到的框架是有一個(gè)想法。將錯(cuò)誤也變成格式碼定義為如果移動(dòng)端發(fā)現(xiàn)錯(cuò)誤為的話就溫柔提醒并且服務(wù)端保存錯(cuò)誤信息供開發(fā)者修改下面說下如何實(shí)現(xiàn)。

公司在做APP開發(fā).作為程序員難免會(huì)出點(diǎn)小BUG!哪如何捕獲呢。在APP上出現(xiàn)bug通常會(huì)出現(xiàn)閃退,和無法解析錯(cuò)誤一直加載.

用到的框架是 ThinkPHP5.

有一個(gè)想法。將錯(cuò)誤也變成json格式.code碼定義為500 如果移動(dòng)端發(fā)現(xiàn)錯(cuò)誤為500的話 就溫柔提醒.并且服務(wù)端保存錯(cuò)誤信息.供開發(fā)者修改.

下面說下如何實(shí)現(xiàn)。~

首先修改配置項(xiàng) application/config.php

// 異常處理handle類 留空使用 	hinkexceptionHandle
"exception_handle"       => "appcommonexceptionHttp",

原本是留空的 現(xiàn)在改為我們自定義的控制器

創(chuàng)建一個(gè)Http控制器 繼承thinkexceptionHandle類 重寫 render方法. 這里注意一點(diǎn) 最好不要用框架里的一些方法了.這個(gè)文件的啟動(dòng)順序大于一些方法.

 500,
            "msg" => $e->getMessage(),
            "data" => "URL : http://".$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]
        ];
        $error_info = json_encode($arr, 512) . PHP_EOL;
        echo $error_info;
        if (!is_dir("../runtime/errorlog/")) mkdir("../runtime/errorlog/", 0777, true);


        file_put_contents("../runtime/errorlog/" . date("Ymd", time()) . ".txt", $error_info, FILE_APPEND);
        exit;
    }
}

這樣就能將thinkphp5原本的報(bào)錯(cuò)頁面變成可識(shí)別的json串.喜歡的朋友請(qǐng)給一個(gè)支持

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/26172.html

相關(guān)文章

  • Laravel 程序架構(gòu)設(shè)計(jì)思路:使用動(dòng)作類

    摘要:一個(gè)動(dòng)作類,應(yīng)該有一個(gè)能夠說明其功能的名字,比如等。如果需要對(duì)我們的動(dòng)作類實(shí)現(xiàn)某種適配器模式,這是非常方便的。使用單動(dòng)作類的好處小巧而單一的邏輯域能夠防止代碼重復(fù)并提高代碼的可重用性,保持穩(wěn)定。易于針對(duì)各種場景進(jìn)行獨(dú)立測試。 showImg(https://segmentfault.com/img/remote/1460000015208092); 當(dāng)我們談?wù)摰綉?yīng)用程序的架構(gòu)的時(shí)候,經(jīng)...

    Caicloud 評(píng)論0 收藏0
  • 利用函數(shù)式優(yōu)雅的重構(gòu)API

    摘要:新建字典必要的驗(yàn)證參數(shù)不能為空調(diào)用封裝數(shù)據(jù)到統(tǒng)一到結(jié)構(gòu)體異常處理包括中拋出到自定義異常和未知異常統(tǒng)一包裝到返回對(duì)象中這樣子的代碼在開發(fā)接口的時(shí)候比比皆是。 基礎(chǔ)知識(shí) 在開始之前 假設(shè)你從未了解過函數(shù)式編程,本文不會(huì)教你函數(shù)式里面的各種概念。而是用實(shí)際案例讓給了解到函數(shù)式編程的魅力,并且能夠在合適的場景中應(yīng)用。 ## 重構(gòu)之前 基本代碼如下 很普通的 springboot http接口。...

    bergwhite 評(píng)論0 收藏0
  • 如何優(yōu)雅的退出應(yīng)用和處理崩潰異常并重啟

    摘要:退出應(yīng)用的幾種方式退出應(yīng)用的方式很多,常見的也就下面四種。當(dāng)發(fā)生時(shí)會(huì)轉(zhuǎn)入該函數(shù)來處理如果用戶沒有處理則讓系統(tǒng)默認(rèn)的異常處理器來處理如果需要重啟重啟應(yīng)用,得使用重啟應(yīng)用結(jié)束應(yīng)用我們的方法用于彈出和收集信息。 寫在前面 這是最近一些朋友問我的問題,我把它整理成了一個(gè)庫,供大家享用,GitHub 地址:https://github.com/nanchen2251/AppManager 從四個(gè)...

    learn_shifeng 評(píng)論0 收藏0
  • 如何優(yōu)雅地處理Async/Await的異常

    摘要:能夠捕獲非異步的異常。來匹配正常異常的情況。在中處理所有的異常如果出錯(cuò),則退出。所以,的模式使得異常處理變得非常簡潔。自從年雙十一正式上線,累計(jì)處理了億錯(cuò)誤事件,付費(fèi)客戶有陽光保險(xiǎn)核桃編程荔枝掌門對(duì)微脈青團(tuán)社等眾多品牌企業(yè)。 譯者按: 使用.catch()來捕獲所有的異常 原文: Async Await Error Handling in JavaScript 譯者: Fundeb...

    villainhr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

nemo

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<