Thinkphp8 配置异常全局捕捉处理
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
在ThinkPHP8中配置异常全局捕捉处理,你需要使用应用的全局异常处理类。以下是步骤和示例代码:
- 创建全局异常处理类:在应用目录(
application
)下创建一个新的文件ExceptionHandle.php
。 - 定义异常处理类:继承
think\exception\Handle
类,并实现render
方法。
// application/ExceptionHandle.php
namespace app;
use think\exception\Handle;
use think\Response;
class ExceptionHandle extends Handle {
public function render(\Exception $e): Response {
// 按需处理不同异常,这里以所有异常为例
// 返回500错误页面或者其他格式的响应
return json(['code' => 500, 'message' => $e->getMessage()]);
}
}
- 注册全局异常处理类:在应用的配置文件
application.php
中注册。
// application/config.php
return [
// ...
'exception_handle' => 'app\ExceptionHandle',
];
完成以上步骤后,当应用中抛出异常时,会自动由全局异常处理类ExceptionHandle来捕捉并处理,返回一个统一的错误响应格式。
评论已关闭