2014-10-26 33 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