搜索中心
搜索中心 搜索快照

开发必看 - 业务异常处理

业务异常处理使用统一的 BizException 处理。

use ModStart\Core\Exception\BizException;
// 抛出一个异常
BizException::throws('错误信息');
// 内容为空时并抛出异常
BizException::throwsIfEmpty('用户不存在', $user);
// 内容不为空时并抛出异常
BizException::throwsIfNotEmpty('用户不存在', $user);
// 条件判断并抛出异常
BizException::throwsIf('记录不存在', empty($record));
// 自定义错误页面
BizException::throws('没有权限,请升级', [
    'view' => 'theme.default.pc.upgradeMember',
    'viewData' => [
        'username' => '张三'
    ]
]);
// 自定义状态页面,Web请求时会自动转换为标准错误页面,Ajax请求时会自动转换为标准返回
BizException::throws('资源不存在', [
    'statusCode' => 404,
]);
BizException::throws('没有权限', [
    'statusCode' => 404,
]);
BizException::throws('资源处理出错', [
    'statusCode' => 500,
]);

使用 BizException 抛出的异常,异常处理模块会自动对异常进行转换。

如果请求是 Ajax ,结果会自动转换为标准返回,如图:

{
  "code":-1,
  "msg":"错误信息"
}

如果请求是普通页面,会转换为标准错误页面,如图:

查看原文
QQ
微信
客服