总是在 try catch 中捕获基 Exception 类是一种好的编码习惯吗?
try
{
//
// Piece of code
//
}
catch (CustomException $my_ex)
{
// Handle CustomExcepton
}
catch (Exception $other_exceptions)
{
// Handle all other exceptions
}
如果是这样,为什么?
总是在 try catch 中捕获基 Exception 类是一种好的编码习惯吗?
try
{
//
// Piece of code
//
}
catch (CustomException $my_ex)
{
// Handle CustomExcepton
}
catch (Exception $other_exceptions)
{
// Handle all other exceptions
}
如果是这样,为什么?
在 PHP 中,您可以安装一个全局异常处理程序。需要时,您可以在代码中捕获异常,所有未处理的异常都会转到全局异常处理程序。根据你的策略,你决定做什么。
当然,当您决定死亡时,我们会感谢您提供清晰的错误消息和日志。
一般来说,如果您可以从异常中恢复,请使用 try .. catch 块,否则让全局异常处理程序完成他的工作,并且不恢复。
您应该只捕获您现在如何处理的异常。其他人应该冒泡到最后调用方法和一些全局处理程序。