如果一個變量在PHP中持有NULL
,試圖訪問它上面的屬性會導致通知「試圖獲取非對象的屬性」。如果試圖在其上調用的方法,然而,結果是「致命錯誤:調用到非對象的成員函數方法名()」:是否有可能將「注意:試圖獲取非對象的屬性」變成致命錯誤?
<?php
$obj = NULL;
var_dump($obj->prop);
$obj->method();
有沒有辦法讓PHP將這兩個這些運行時錯誤視爲致命錯誤?
如果一個變量在PHP中持有NULL
,試圖訪問它上面的屬性會導致通知「試圖獲取非對象的屬性」。如果試圖在其上調用的方法,然而,結果是「致命錯誤:調用到非對象的成員函數方法名()」:是否有可能將「注意:試圖獲取非對象的屬性」變成致命錯誤?
<?php
$obj = NULL;
var_dump($obj->prop);
$obj->method();
有沒有辦法讓PHP將這兩個這些運行時錯誤視爲致命錯誤?
您可以註冊自己的錯誤處理程序,它可以將這種錯誤提升爲致命錯誤。
請參閱http://php.net/set_error_handler,特別是示例。
我沒有一個想法,但我認爲你可以通過捕捉的通知,並拋出一個異常,隨後行
退出()manualy處理它;
;)
請擴大你會怎麼趕通告。 :) – deceze 2012-01-05 23:19:22
http://php.net/manual/en/function.set-error-handler.php – 2012-01-05 23:35:14
我從手機寫,所以我沒有擴大:D對不起 – 2012-01-05 23:38:31
這似乎是我所期待的:) – 2012-01-05 23:18:20