throw new BannerMissException(); 错误

来源:6-5 实现自定义全局异常处理 下

读你00000000

2019-03-16

图片描述

exceptionHandler.php
use Exception;
use think\exception\Handle;
use think\Request;

class ExceptionHandler extends Handle
{
public $code;
public $errorCode;
public $msg;
public function render(Exception KaTeX parse error: Expected '}', got 'EOF' at end of input: … { if (e instanceof BaseException) {
$this->code = $e->code;
$this->errorCode = $e->errorCode;
$this->msg = $e->msg;
} else {
switch=config(′appdebug′);if(switch = config('app_debug'); if (switch=config(appdebug);if(switch) {
parent::render($e);
}else{
$this->code = 500;
$this->errorCode = 999;
$this->masg = ‘服务器内部错误’;
}
}
$result = [‘errorCode’ => $this->errorCode, ‘msg’ => this−>msg,′requesturl′=>Request::instance()−>url(),];returnjson(this->msg, 'request_url' => Request::instance()->url(),]; return json(this>msg,requesturl=>Request::instance()>url(),];returnjson(result, $this->code);
}
}

BaseException.php
use think\Exception;

/**

  • Class BaseException
  • @package app\lib\exception
  • 重写 全局异常处理基类: 用于统一描述错误信息:错误码、错误信息、当前URL
  • 主要用于向客户端返回的错误信息,用于由于客户端的操作造成的错误,要向用户显示具体的错误信息(属于第一种错误类型)
    */
    class BaseException extends Exception
    {
    //HTTP状态码
    public $code = 400;
    //自定义状态码
    public $errorCode = 10000;//通用错误
    //自定义状态码信息
    public $msg = ‘参数错误’;
    }

BannerMissException.php
class BannerMissException extends BaseException
{
//HTTP状态码
public $code = 404;

//自定义状态码
public $errorCode = 40000;//通用错误

//自定义状态码信息
public $msg = '请求Banner不存在';

}

api/controller/v1/Order.php

use app\api\model\builder\Order as OrderBuilderModel;
use app\api\validate\IDMustBePostiveInt;
use app\lib\exception\BannerMissException;
use app\lib\exception\OrderMimssEaception;

class Order
{
public function getOrder($id)
{
//AOP 面向切面编程
(new IDMustBePostiveInt())->goCheck();
result=OrderBuilderModel::get(result = OrderBuilderModel::get(result=OrderBuilderModel::get(id);
result=null;if(!result = null; if (!result=null;if(!result) {
throw new BannerMissException();
}
return json($result);
}
}

写回答

6回答

读你00000000

提问者

2019-03-18

复制出来就显示这样了

0
0

读你00000000

提问者

2019-03-18

public function render(Exception KaTeX parse error: Expected '}', got 'EOF' at end of input: … { if (e instanceof BaseException) {

KaTeX parse error: Expected '}', got 'EOF' at end of input: …  这里原来是$e的

0
2
读你00000000
好的,我再检查一下
2019-03-18
共2条回复

7七月

2019-03-18

//img.mukewang.com/szimg/5c8ea9f000017dfe17660634.jpg这到底是什么?我都看不出来这是源代码还是异常啊?

0
0

读你00000000

提问者

2019-03-17

我也不知道这是啥问题

0
1
7七月
我看好像是语法的问题啊。
2019-03-18
共1条回复

Strin

2019-03-17

我的也是 throw后面接 new出来的Exception就会出错 而接Exception $e 中的$e就不会出错 请教一下为什么

0
1
7七月
他这个问题,很明显是语法的问题。估计是多了一些不符合PHP规范的语法。
2019-03-18
共1条回复

7七月

2019-03-16

这贴的是什么。。。你看下是不是这个代码本身就有语法错误啊?

0
4
7七月
回复
读你00000000
这个错误通常就是不符合PHP规范啊,多了什么符号造成的吧。是不是什么括号没闭合啊。
2019-03-18
共4条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4805 学习 · 4382 问题

查看课程