Try - 使用異常的函數應該位於 "try" 代碼塊內。若是沒有觸發異常,則代碼將照常繼續執行。可是若是異常被觸發,會拋出一個異常。php
Throw - 這裏規定如何觸發異常。每個 "throw" 必須對應至少一個 "catch"函數
Catch - "catch" 代碼塊會捕獲異常,並建立一個包含異常信息的對象this
讓咱們觸發一個異常:spa
<?php //建立可拋出一個異常的函數 function checkNum($number) { if($number>1) { throw new Exception("Value must be 1 or below"); } return true; } //在 "try" 代碼塊中觸發異常 try { checkNum(2); //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below'; } //捕獲異常 catch(Exception $e) { echo 'Message: ' .$e->getMessage(); } ?>
上面代碼將得到相似這樣一個錯誤:code
Message: Value must be 1 or below
上面的代碼拋出了一個異常,並捕獲了它:orm
建立 checkNum() 函數。它檢測數字是否大於 1。若是是,則拋出一個異常。對象
在 "try" 代碼塊中調用 checkNum() 函數。get
checkNum() 函數中的異常被拋出it
"catch" 代碼塊接收到該異常,並建立一個包含異常信息的對象 ($e)。io
經過從這個 exception 對象調用 $e->getMessage(),輸出來自該異常的錯誤消息
不過,爲了遵循「每一個 throw 必須對應一個 catch」的原則,能夠設置一個頂層的異常處理器來處理漏掉的錯誤。
轉載