LogicException vs. RuntimeException



我想知道是否有一个规则说什么时候在PHP中使用哪个异常…什么时候我必须抛出一个LogicException和一个RuntimeException

例如,当涉及到异常像PageNotFoundException,从哪个异常类我应该继承?

LogicException似乎是为"这永远不会发生"的错误检查:

表示程序逻辑错误的异常。这种异常应该直接导致在你的代码中修复。

其他一些SPL异常,如BadFunctionCallException继承自它。

RuntimeException用于只有在程序运行时才能检测到的错误发生的情况。命名是编译语言的延续,在编译时可以检测到某些错误。像LogicException一样,其他一些SPL异常继承自它。

你可能不希望使用它们中的任何一个作为你自己特定扩展的基础,除非你确信你的代码可能会在继承层次中产生另一个异常,并且你想捕获其中的任何一个,而不是你的特定异常或所有异常。

最新更新