laravel:自定义异常(10.27.0)

一,创建exception:

liuhongdi@lhdpc:/data/laravel/dignews$ php artisan make:exception ApiException
   INFO  Exception [app/Exceptions/ApiException.php] created successfully.

二,php代码:

1,在新添加的异常类app/Exceptions/ApiException中添加代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
namespace App\Exceptions;
 
use Exception;
use Throwable;
 
class ApiException extends Exception
{
    public function __construct($message = "", $code = 400, Throwable $previous = null)
    {
        parent::__construct($message, $code, $previous);
    }
 
    public function render()
    {
        return response()->json([
            'msg' => $this->message,
            'code' => $this->code,
        ]);
    }
}

2,controller中抛出异常

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
 
use App\extend\result\Result;
use App\Exceptions\ApiException;
 
class NewsController extends Controller
{
    //使用统一返回的数据格式
    public function res(Request $request) {
 
        throw new ApiException('该商品不存在',1024);
 
        //判断是否存在name参数,如果存在
        if ($request->has('name')) {
           $data = [
            'name'=>$request->name,
            'age'=>'24',
          ];
 
           return Result::Success($data);
        } else {   //参数不存在时返回错误
            return Result::ErrorCode(10024,'缺少name参数');
        }
    }

三,测试效果

说明:刘宏缔的架构森林—专注it技术的博客,
网站:https://blog.imgtouch.com
原文: https://blog.imgtouch.com/index.php/2023/10/17/laravel-zi-ding-yi-yi-chang-10-27/
代码: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com

四,查看laravel框架的版本:

liuhongdi@lhdpc:/data/laravel/dignews$ php artisan --version
Laravel Framework 10.27.0
posted @ 2023-10-19 09:08  刘宏缔的架构森林  阅读(69)  评论(0编辑  收藏  举报