我想捕获一个特定的异常并正确处理它。然而,我以前没有这样做过,我想以最好的方式做到这一点。
创建一个单独的类是正确的吗
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)
来自手册
多个 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 中使用该关键字。
| 归档时间: |
|
| 查看次数: |
5233 次 |
| 最近记录: |