在try catch中始终捕获基本Exception类是不是很好的编码实践?
try
{
//
// Piece of code
//
}
catch (CustomException $my_ex)
{
// Handle CustomExcepton
}
catch (Exception $other_exceptions)
{
// Handle all other exceptions
}
如果是这样,为什么?
答案 0 :(得分:2)
在PHP中,您可以安装global exception handler。 需要时,您可以捕获代码中的异常,所有未处理的异常都会转到全局异常处理程序。根据您的策略,您决定要做什么。
当然,当您决定死亡时,会收到明确的错误消息和日志。
通常,如果您可以从异常中恢复,请使用try .. catch块,否则让全局异常处理程序执行其工作,并且不进行恢复。
答案 1 :(得分:0)
您应该只捕获您现在如何处理的例外情况。其他人应该最终冒泡到调用方法和一些全局处理程序。