:::

13. 一般的異常處理

  1. 我們先來關閉一個商品,測試一下商品未上架,卻要顯示其詳情頁的情況:
  2. 然後,修改控制器裡面,用來執行顯示詳情頁動作的show()。我們在裡面,偵測on_sale如果不是1,那麼,要拋出一個異常,可以這樣寫:
    use Exception;
    
    ...略...
    
    public function show($id)
    {
        $product = Product::find($id);
        if (!$product->on_sale) {
            throw new Exception('商品未上架');
        }
        return view('product.show', compact('product'));
    }

     

  3. .envAPP_DEBUG設定為true時(一般是在開發階段),看到的畫面是這樣:
  4. .envAPP_DEBUG設定為false時(一般是在正式營運階段),看到的畫面是這樣:
  5. 不管看到哪個畫面,基本上,都還蠻驚悚的,對於開發人員來說,如果除錯模式有開,那還知道是什麼狀況(雖然畫面醜,但還可以接受),但對於一般民眾來說,那可就顯得非常不友善了。

到GitHub觀看此單元程式異動


:::

書籍目錄

展開 | 闔起

http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D43%26tbdsn%3D1431

計數器

今天: 1447144714471447
昨天: 1416141614161416
總計: 7340094734009473400947340094734009473400947340094