2014-10-26 61 views
1

如果我在我的擴展裏面可以生成warningsfatals,我怎麼可以catch呢?如何捕捉警告/致命的內部php c-extension?

我想有些global變量控制這個,但不知道哪一個。

+0

我的PHP專業知識是有限的,所以我可能會錯過很明顯,但對哪一種「*警告或嚴重錯誤*」你指的是? – alk 2014-10-26 16:16:34

+0

在PHP的用戶空間中,我們可以調用'set_error_handler'來捕獲錯誤。我需要C代碼中的這個特性。我想這是全局變量。 – nkt 2014-10-26 16:22:17

+0

看看這個http://stackoverflow.com/questions/1241728/can-i-try-catch-a-warning – Dangeroustry 2014-10-26 16:22:59

回答

0

C不知道異常,try/catch/finally不可用。

您需要使用其他機制來檢測錯誤並處理它們。

好吧,好吧 - 有setjmp()longjmp(),但是......

+0

例如,有'zend_try {'和'} zend_end_try();'。 – nkt 2014-10-26 17:34:58