【问题标题】:Does it necessary using sef-defined Exception是否有必要使用 sef-defined Exception
【发布时间】:2017-10-17 07:06:59
【问题描述】:

众所周知,PHP 有一个名为“Exception”的类来处理非异常情况。我通常发现有人喜欢自定义一个新的异常类,它扩展了“Exception”类。这个新的异常类没有重写或添加任何功能。它只是声明了“异常”类的一个子类。 所以,我怀疑是否有必要在我的项目中自定义一个新的异常类?过去,我在任何地方都使用过“异常”类。

【问题讨论】:

标签: php laravel


【解决方案1】:

这不是必须的,但可能很方便:如果你有不同种类的异常,你可以在捕获它们时进行不同的处理:

try {
    ...
} catch (SpecificException $e) {
    // Do something specific here
} catch (SomeOtherException $e) {
    // Here you can do something else
} catch (\Exception $e) {
    // The rest...
}

【讨论】:

    【解决方案2】:

    以这种方式定义异常的主要原因是为了帮助调试和错误处理。不仅像NetworkException 这样的内容提供更多信息,而且您还可以在发生该类型异常时捕获它,因此您可以以不同的方式处理不同类型的异常。例如,有些可能是暂时的,因此您可能会捕获它们并要求用户稍后再试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-16
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多