2010-07-25 55 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