用異常處理來精簡你的程式碼

lyxxxh發表於2020-03-05

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

相關文章