Error.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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 =1006;
  18. }
  19. if($e instanceof HttpException ){
  20. $message =$e->getMessage();
  21. $code =1006;
  22. }
  23. if($e instanceof ErrorException)
  24. {
  25. $message =$e->getMessage();
  26. $code =1006;
  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 =1006;
  37. }
  38. // 添加自定义异常处理机制
  39. if(!empty($e)){
  40. return json(["message"=>$message,"code"=>$code]);
  41. }
  42. return parent::render($request, $e);
  43. }
  44. }