2010-07-25 53 views
0

PHP有沒有能力在一個catch代碼塊中捕獲所有類型的異常? 有沒有辦法做到這一點:PHP中的無類型catch代碼塊

try 
{ 
throw new Exception; OR throw new MyException; 
} 
catch(???) 
{ 
// Catch both exception types 
} 

回答

4

Exception是超類的所有異常。所以:

catch (Exception $e) { 
    // Catches any exception 
} 
+1

雖然這是真的,但它往往是一個可怕的想法,如果濫用將導致討厭的錯誤。 – Daenyth 2010-07-25 20:08:56

+0

從技術上講,已經有一些pecl軟件包和其他內置擴展的bug,它們拋出了一個非Exception派生異常(我認爲它是SoapFault的一個回來)。這些應該被報告爲錯誤,並且通常很快修復。 – Wrikken 2010-07-25 20:50:05