怎样在RESTful的ActiveController里面捕捉异常 [ 2.0 版本 ]
rest的active controller里面可以指定modelClass以后,就能完成一个RESTful的api。
但是这样的话,在不重写方法的情况下就没办法捕捉异常了,比如数据库插入数据错误,抛出yii\db\IntegrityException的时候。
有没有什么办法能够捕捉到这个异常,主要是想要知道异常的内容,对常见的异常提供一个程序相关的错误描述。
比如,MySQL 1064错误,可以知道插入了不能重复的值,这样返回一个自定义的错误代码,让前端知道是因为数据重复了,好给出相应的提示。
共 5 个回答
-
-
-
qqa4560354 回答于 2017-02-20 17:18 举报
这个求大神指导,我也想知道
-
-
$exception = \Yii::$app->errorHandler->exception;
if ($exception instanceof NotFoundHttpException) { return $this->render('404'); } elseif ($exception instanceof BadRequestHttpException) { return $this->render('error', ['exception' => $exception->getMessage()]); } elseif ($exception instanceof Exception) { return $this->render('error', ['exception' => $exception->getMessage()]); } else { return $this->render('error', ['exception' => '请求异常']); }
具体的异常类你自己判断
orzorc
注册时间:2016-12-23
最后登录:2017-02-24
在线时长:1小时24分
最后登录:2017-02-24
在线时长:1小时24分
- 粉丝0
- 金钱265
- 威望20
- 积分475