处理php中的特定异常

Dim*_*ica 3 php exception

我想捕获一个特定的异常并正确处理它。然而,我以前没有这样做过,我想以最好的方式做到这一点。

创建一个单独的类是正确的吗

 class HandleException extends Exception
{
   //my code to handle exceptions;
}
Run Code Online (Sandbox Code Playgroud)

并且其中有不同的方法处理不同的异常情况?据我了解,Exception类就像php中的“集成”类,因此它可以扩展,并且如果捕获到异常,则不必终止程序流程?

并且,当捕获异常时会创建该类的实例吗?某事。喜欢

     catch ( \Exception $e ) {
        $error = new HandleException;
    }
Run Code Online (Sandbox Code Playgroud)

Phi*_*tag 5

来自手册

多个 catch 块可用于捕获不同类别的异常。正常执行(当 try 块内没有抛出异常时)将在按顺序定义的最后一个 catch 块之后继续。可以在 catch 块内引发(或重新引发)异常。

所以你可以这样做:

try {
    // some code
} catch ( HandleException $e ) {
    // handle sthis error
} catch ( \Exception $e ) {
    // handle that error
}
Run Code Online (Sandbox Code Playgroud)

这将处理不同的异常。您还可以finally在较新版本的 PHP 中使用该关键字。