錯(cuò)誤處理

2018-02-24 15:52 更新

所有的異常都由 App\Exceptions\Handler 類處理。這個(gè)類包含兩個(gè)方法: report 和 render 。

report 方法用來(lái)記錄異?;虬旬惓鬟f到外部服務(wù),例如: BugSnag 。默認(rèn)情況下, report 方法只基本實(shí)現(xiàn)簡(jiǎn)單地傳遞異常到父類并于父類記錄異常。然而,你可以依你所需自由地記錄異常。如果你需要使用不同的方法來(lái)報(bào)告不同類型的異常,你可以使用 PHP 的 instanceof 比較運(yùn)算符:

/**
 * 報(bào)告或記錄異常。
 *
 * 這是一個(gè)發(fā)送異常到 Sentry、Bugsnag 等服務(wù)的好地方。
 *
 * @param  \Exception  $e
 * @return void
 */
public function report(Exception $e)
{
    if ($e instanceof CustomException)
    {
        //
    }

    return parent::report($e);
}

render 方法負(fù)責(zé)把異常轉(zhuǎn)換成應(yīng)該被傳遞回瀏覽器的 HTTP 響應(yīng)。默認(rèn)情況下,異常會(huì)被傳遞到基礎(chǔ)類并幫你產(chǎn)生響應(yīng)。然而,你可以自由的檢查異常類型或返回自定義的響應(yīng)。

異常處理進(jìn)程的 dontReport 屬性是個(gè)數(shù)組,包含應(yīng)該不要被紀(jì)錄的異常類型。由 404 錯(cuò)誤導(dǎo)致的異常默認(rèn)不會(huì)被寫到日志文件。你可以依照需求添加其他類型的異常到這個(gè)數(shù)組。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)