2012-01-05 39 views
1

如果一個變量在PHP中持有NULL,試圖訪問它上面的屬性會導致通知「試圖獲取非對象的屬性」。如果試圖在其上調用的方法,然而,結果是「致命錯誤:調用到非對象的成員函數方法名()」:是否有可能將「注意:試圖獲取非對象的屬性」變成致命錯誤?

<?php 
$obj = NULL; 
var_dump($obj->prop); 
$obj->method(); 

http://codepad.org/HZyYd12A

有沒有辦法讓PHP將這兩個這些運行時錯誤視爲致命錯誤?

回答

1

您可以註冊自己的錯誤處理程序,它可以將這種錯誤提升爲致命錯誤。
請參閱http://php.net/set_error_handler,特別是示例。

+0

這似乎是我所期待的:) – 2012-01-05 23:18:20

1

我沒有一個想法,但我認爲你可以通過捕捉的通知,並拋出一個異常,隨後行

退出()manualy處理它;

;)

+0

請擴大你會怎麼趕通告。 :) – deceze 2012-01-05 23:19:22

+0

http://php.net/manual/en/function.set-error-handler.php – 2012-01-05 23:35:14

+0

我從手機寫,所以我沒有擴大:D對不起 – 2012-01-05 23:38:31

相關問題