2012-09-06 20 views
0

在try catch中总是捕获基类Exception类的好习惯吗?应该在try catch中捕获异常类吗?

try 
{ 
    // 
    // Piece of code 
    // 
} 
catch (CustomException $my_ex) 
{ 
    // Handle CustomExcepton 
} 
catch (Exception $other_exceptions) 
{ 
    // Handle all other exceptions 
} 

如果是这样,为什么?

回答

2

在PHP中,您可以安装global exception handler。 需要时,您可以在代码中捕获异常,所有未处理的异常将转至全局异常处理程序。根据你的战略,你决定做什么。

当然,当你决定死的时候,一个明确的错误信息和日志是值得赞赏的。一般情况下,如果你可以从异常中恢复,使用try .. catch块,否则让全局异常处理程序完成他的工作,并且不会恢复。

0

你应该只捕捉你现在如何处理的异常。其他人应该鼓起来调用方法和一些全局处理程序。