2011-08-28 122 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+操作都不會觸發異常。