php - 处理 php 中的特定异常

标签 php exception

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

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

 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/

相关文章:

php - 如何计算php或mysql中相同值的数量

php - 未知 : Failed opening required '0ff' (include_path ='.:/tmp:/usr/lib/php:/usr/local/lib/php' ) in Unknown on line 0

Java 压缩 try/catch 代码异常

c# - ArgumentOutOfRangeException 出现奇怪的本地化问题

c# - 引发异常C#后保持方法执行

c++ - 如何转换 boost::Exception?

php - 如何从特定字符中剪切动态字符串并将剩余部分保留在变量中

php - 使用模块中的 hook_theme 将变量传递给 twig

php - 为什么 Symfony2 中的 session 数据为空以及如何访问它?

java - javax.crypto.Cipher 的问题