1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace app;
- use think\db\exception\DataNotFoundException;
- use think\db\exception\ModelNotFoundException;
- use think\exception\Handle;
- use think\exception\HttpException;
- use think\exception\HttpResponseException;
- use think\exception\ValidateException;
- use think\exception\ErrorException;
- use think\exception\ClassNotFoundException;
- use think\exception\FuncNotFoundException;
- use think\exception\InvalidArgumentException;
- use think\exception\RouteNotFoundException;
- use think\Response;
- use Throwable;
- class ExceptionHandle extends Handle
- {
-
- protected $ignoreReport = [
- HttpException::class,
- HttpResponseException::class,
- ModelNotFoundException::class,
- DataNotFoundException::class,
- ValidateException::class,
- ];
-
- public function report(Throwable $exception): void
- {
-
- parent::report($exception);
- }
-
- public function render($request, Throwable $e): Response
- {
-
-
- if($e instanceof Exception || $e instanceof HttpException || $e instanceof ErrorException || $e instanceof ClassNotFoundException || $e instanceof FuncNotFoundException || $e instanceof InvalidArgumentException){
-
- $ErrLogMSG = "错误文件".$e->getFile().'/错误行:'.$e->getLine().'/错误内容:'.$e->getMessage();
- WLog('FastPHP_SysError',$ErrLogMSG);
- return $this->json('操作异常',2,$e->getFile().':'.$e->getLine().$e->getMessage(),$e->getTrace());
- }
- if(!empty($e->getMessage())){
- return $this->json($e->getMessage(),2,$e->getFile().':'.$e->getLine().$e->getMessage(),$e->getTrace());
- }
-
- if(false===strpos($e->getMessage(),'登录失效')){
- return parent::render($request, $e);
- }
- }
- private function json(string $msg,int $code,string $info,array $extend=[])
- {
- $debug = env('APP_DEBUG',false);
- if($debug){
- return json(compact('code','msg','info','extend'));
- }else{
- return json(compact('code','msg'));
- }
- }
- }
|