我想捕获一个特定的异常并正确处理它。但是,我以前没有这样做过,我想以最好的方式做到这一点。
创建一个单独的类是否正确
class HandleException extends Exception
{
//my code to handle exceptions;
}
其中有不同的方法来处理不同的异常情况?据我了解,Exception 类就像 php 中的“集成”类,因此可以扩展,如果捕获到异常,则不必终止程序流程?
而且,当捕获到异常时,会创建这个类的实例吗?某事。喜欢
catch ( \Exception $e ) {
$error = new HandleException;
}
最佳答案
您可以用您自己的扩展基本 Exception 对象,以提供您自己的异常类型,例如
class FooExcept extends Exception { .... }
class BarExcept extends Exception { .... }
try {
if ($something) {
throw new FooExcept('Foo happened');
} else if ($somethingelse) {
throw new BarExcept('Bar happened');
}
} catch (FooExcept $e) {
.. foo happened, fix it...
} catch (BarExcept $e) {
... bar happened, fix it ...
}
如果捕获到异常,则程序不一定要中止。这取决于异常处理程序本身。但是,如果异常冒泡总是回到调用堆栈的顶部并且没有被捕获,那么整个脚本将中止并出现未处理的异常错误。
关于php - 处理 php 中的特定异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39103608/