2015-11-21 18 views
-2

Try,throw,catch異常會殺死一個php腳本。例如:做了一個嘗試,拋出,拋出kill腳本?

try{ 
    if(0 != 0){ 
     throw new Exception('of course it equals 0!'); 

} catch (Exception $e){ 
    echo 'Exception was Caught: ', $e->getMessage(); 
} 

如果異常被拋出並被捕獲,代碼從回聲中跳到哪裏?它可以逃脫並繼續,或者是劇本在那一刻被殺死了嗎?我要求安全原因。如果我要說創建一個登錄腳本,並且使用try catch來驗證用戶名等等,並且用戶名是錯誤的,那麼拋出的異常是在那個catch點處完成的代碼?

+2

您是否嘗試過代碼並在try-catch下放置了一個echo語句? – Rizier123

+0

爲什麼你沒有諮詢文檔並先嘗試? (它肯定與安全無關) – zerkms

回答

2

否。在每種語言中,當您捕捉到異常時,腳本會繼續到下一行。在你的例子中,執行將繼續在echo之後的下一個語句,在你的情況下,這將是關閉catch塊的大括號之後的第一個表達式。

相關問題