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 協議》,轉載必須註明作者和本文連結