2012-03-24 77 views
5

在學習Zend PHP考試時,我遇到了以下矛盾的信息:PHP中所有未捕獲的異常是致命的嗎?

從Zend PHP 5.3學習指南v1a - PDF可用here

enter image description here

答案:

enter image description here

而且從PHP建築師的Zend PHP 5認證學習指南由戴維·沙菲克 ISBN信息:0-9738621-4-9頁128 enter image description here

有人能告訴我哪一個是真的嗎?

感謝

回答

5

php manual,請注意unless

如果一個異常沒有被捕獲,一個PHP致命錯誤將與 發出「未捕獲的異常...」消息,除非處理器已經被定義 與set_exception_handler()。

+0

所以,我會說他們都是正確的。如果你不捕捉*它(使用catch語句),並且你不*處理*(使用'set_exception_handler()'),那麼它就會變成致命的。 – 2012-03-24 08:37:30

+0

我不同意。即使使用異常處理程序,執行也會一直停止。它不會只顯示錯誤消息,但這是致命的錯誤。所以在我看來,這個問題很糟糕。 – Andy 2014-08-22 23:30:57

2

未捕獲的異常幾乎總是導致致命錯誤,除非使用set_exception_handler()。這就是它不是總是差不多總是

從PHP手冊:

如果一個異常沒有被捕獲,一個PHP致命錯誤將與發出「未捕獲的異常...」消息,除非處理器已經與set_exception_handler定義() 。

相關問題