tp5 1 API 自定義全域性異常處理(下)

2021-09-25 17:28:14 字數 1113 閱讀 9487

tp5.1自帶的錯誤頁面是非常清晰的,而客戶端的開發者需要乙個簡化的 json 資訊,前面的上中兩篇已經具體介紹了如何返回 json 資訊,但是作為客戶端開發我們還是希望使用 tp5.1 自帶的錯誤頁面來定位錯誤,這樣如何調和呢?我們可以通過乙個開關來進行操作,開關開的時候返回具體的包含錯誤資訊的 html 頁面,如果開關是關閉的我們就返回 json。

現在我們來分析一下思路,我們通過自己寫的 render 方法覆蓋了父類的 render 方法,所以當我們需要重新呼叫父類 render 方法的時候,我們重新將 else 裡面的**補充一下:

<?php

namespace

;use

exception

;use

think\exception\handle

;use

think\facade\log

;class

exceptionhandler

extends

handle

else

$this

->

code

=500

;$this

->

msg=

'伺服器內部異常'

;$this

->

error_code

=999;}

$request

=request()

;$result=[

'msg'

=>

$this

->

msg,

'error_code'

=>

$this

->

error_code

,'request_url'

=>

$request

->

url()]

; log:

:record($e

->

getmessage()

,'error');

return

json

($result

,$this

->

code);

}}

TP5自定義全域性異常處理提示render不相容

填坑 tp5自定義全域性異常處理提示render不相容 thinkphp5.1php框架 更新於 2月27日 約 2 分鐘 tp5自定義全域性異常處理,所有丟擲的異常都通過自定義render方法渲染,再返回客戶端顯示。需要自定義handle的render方法並覆蓋 use think excepti...

SpringBoot自定義異常全域性捕獲

前言 不會寫bug的程式設計師不是乙個好程式設計師,不出異常的程式不是好程式,我們要做的就是抓住它,然後接著寫bug 建立自定義異常類 基礎異常 public class baseexception extends runtimeexception public baseexception stri...

tp5自定義異常處理

1.傳統模式自定義異常處理 定義model層分母為0的異常資訊 url api model index.php use think exception class index catch exception ex return true 定義controller層index資訊 use think ...