2011-08-28 73 views
-3

嗯,我有一个WampServer安装在我的WinXP框与PHP 3.5.3和apache 2.2.17。奇怪的是,try catch块不起作用,在google搜索后我只能发现bug在eaccelerator中(但phpinfo没有显示它的踪迹)。尝试在PHP 5.3.5 Catch块不工作

我在哪里出错?

try{ 
echo "from try"; 
parent::conect(); 
}catch(Exception $e){ 
echo "from catch";} 

我的输出应该

from tryfrom catch 

而是我得到

from try 
Fatal Error: cannot access parent:: when no class... 
+5

你可以发布你的代码吗? –

+2

我假设你不希望尝试/捕捉从空气中工作。你的代码在哪里? – adlawson

+2

无法重现,适合我。你需要给我们更多的细节。 – deceze

回答

0

通知也不例外。你不能通过尝试抓住它。

1

说明:未定义变量:一个在嗒嗒第4行

这也不例外。这是一条错误消息。或者更具体地说,是一条通知,它被分类为调试消息。

Try/Catch不会在默认的PHP设置中捕获它们。您需要一个错误handler,将其转换为异常。但那会很愚蠢。

在你的情况下,你应该事先定义你的变量。 (在其他一些情况下,您可以使用isset()进行测试)。

$a = 0; 
try { 
    echo "from try"; 
    $a+=1; 
} 
catch(Exception $e) { 
    echo "from catch"; 
} 

try/catch是多余的。 echo+操作都不会触发异常。