Error.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace app\common;
  3. use think\exception\Handle;
  4. use think\exception\HttpException;
  5. use think\exception\ValidateException;
  6. use think\exception\ErrorException;
  7. use think\Response;
  8. use Throwable;
  9. class Error extends Handle {
  10. public function render($request, Throwable $e): Response
  11. {
  12. $message ="数据正常";
  13. $code="0000";
  14. // 接管验证错误
  15. if($e instanceof ValidateException){
  16. $message =$e->getMessage();
  17. $code =$e->getCode();
  18. }
  19. if($e instanceof HttpException ){
  20. $message =$e->getMessage();
  21. $code =$e->getCode();
  22. }
  23. if($e instanceof ErrorException)
  24. {
  25. $message =$e->getMessage();
  26. $code =$e->getCode();
  27. }
  28. if($e instanceof \Exception)
  29. {
  30. $message =$e->getMessage();
  31. $code =$e->getCode();
  32. }
  33. if($e instanceof \Error )
  34. {
  35. $message =$e->getMessage();
  36. $code =$e->getCode();
  37. }
  38. // 添加自定义异常处理机制
  39. if ($e instanceof \hg\apidoc\exception\HttpException) {
  40. $message =$e->getMessage();
  41. $code =$e->getCode();
  42. }
  43. if(!empty($e)){
  44. return json(["msg"=>$message,"code"=>$code]);
  45. }
  46. return parent::render($request, $e);
  47. }
  48. }