LogicException vs. RuntimeException
我想知道是否有一个规则说什么时候在PHP中使用哪个例外...我什么时候必须抛出一个LogicException
,什么时候一个Run运行时Exception
?
例如,当涉及到异常时,我应该从哪个异常类继承?PageNotFoundException
我想知道是否有一个规则说什么时候在PHP中使用哪个例外...我什么时候必须抛出一个LogicException
,什么时候一个Run运行时Exception
?
例如,当涉及到异常时,我应该从哪个异常类继承?PageNotFoundException
LogicException
似乎是为了“这永远不会发生”的错误检查:
表示程序逻辑中的错误的异常。这种异常应该直接导致代码中的修复。
其他一些 SPL 异常,如 BadFunctionCallException
继承自它。
RuntimeException
适用于发生错误的情况,该错误只能在程序运行时检测到。命名是编译语言的遗留物,在编译时可以检测到某些错误。就像 ,其他一些 SPL 例外继承自它。LogicException
您可能不希望将其中任何一个用作您自己的特定扩展的基础,除非您确定您的代码可能会在继承层次结构中产生另一个异常,并且您希望捕获其中任何一个异常,而不是您的特定异常或所有异常。