是否应该在try catch中捕获异常类?

时间:2012-09-06 21:26:29

标签: php exception exception-handling

在try catch中始终捕获基本Exception类是不是很好的编码实践?

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

如果是这样,为什么?

2 个答案:

答案 0 :(得分:2)

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

当然,当您决定死亡时,会收到明确的错误消息和日志。

通常,如果您可以从异常中恢复,请使用try .. catch块,否则让全局异常处理程序执行其工作,并且不进行恢复。

答案 1 :(得分:0)

您应该只捕获您现在如何处理的例外情况。其他人应该最终冒泡到调用方法和一些全局处理程序。