在學習Zend PHP考試時,我遇到了以下矛盾的信息:PHP中所有未捕獲的異常是致命的嗎?
從Zend PHP 5.3學習指南v1a - PDF可用here。
答案:
而且從PHP建築師的Zend PHP 5認證學習指南由戴維·沙菲克 ISBN信息:0-9738621-4-9頁128
有人能告訴我哪一個是真的嗎?
感謝
在學習Zend PHP考試時,我遇到了以下矛盾的信息:PHP中所有未捕獲的異常是致命的嗎?
從Zend PHP 5.3學習指南v1a - PDF可用here。
答案:
而且從PHP建築師的Zend PHP 5認證學習指南由戴維·沙菲克 ISBN信息:0-9738621-4-9頁128
有人能告訴我哪一個是真的嗎?
感謝
從php manual,請注意unless
。
如果一個異常沒有被捕獲,一個PHP致命錯誤將與 發出「未捕獲的異常...」消息,除非處理器已經被定義 與set_exception_handler()。
未捕獲的異常幾乎總是導致致命錯誤,除非使用set_exception_handler()
。這就是它不是總是但差不多總是。
從PHP手冊:
如果一個異常沒有被捕獲,一個PHP致命錯誤將與發出「未捕獲的異常...」消息,除非處理器已經與set_exception_handler定義() 。
所以,我會說他們都是正確的。如果你不捕捉*它(使用catch語句),並且你不*處理*(使用'set_exception_handler()'),那麼它就會變成致命的。 – 2012-03-24 08:37:30
我不同意。即使使用異常處理程序,執行也會一直停止。它不會只顯示錯誤消息,但這是致命的錯誤。所以在我看來,這個問題很糟糕。 – Andy 2014-08-22 23:30:57