用异常处理来精简你的代码
return + if (不好的)
//订单创建
public function order()
{
//确认库存是否足够
if(! $this->checkStock());
return $this->error("库存不足");
}
//错误消息返回
protected function error($meg){ return response()->json([ "error" => $msg,"code" => 400 ]); }
protected function checkStock()
{
$stock = 0;
if(! $stock)
return true;
return false;
}
抛出异常处理 (好的)
public function order()
{
//确认库存是否足够
$this->checkStock();
}
protected function checkStock()
{
$stock = 0;
if(! $stock)
throw new \Exception('库存不足');
}
自定义异常返回
既然错误了,那你要返回错误消息给前端啊。
所以这个时候就需要自定义异常了。
以laravel为例
//创建异常类
php artisan make:exception ErrorMessageException
打开app/Exception/ErrorMessageException.php
编辑handle方法
public function render($request)
{
return response()->json([ "error" => $this->getMessage(),"code" => 400 ]);
}
把throw new \Exception('库存不足');
替换成
throw new ErrorMessageException('库存不足');
本作品采用《CC 协议》,转载必须注明作者和本文链接
提示:使用自定义的 Exception 类型是更优解哦。