我想知道是否有一条规则说明何时在 PHP 中使用哪个异常... 我什么时候必须抛出 LogicException
以及什么时候抛出 RuntimeException
?
比如PageNotFoundException
这样的异常,我应该从哪个异常类继承?
最佳答案
LogicException
似乎是为了“这永远不会发生”的错误检查:
Exception that represents error in the program logic. This kind of exception should directly lead to a fix in your code.
其他一些 SPL 异常,例如 BadFunctionCallException
继承它。
RuntimeException
适用于仅在程序运行时才能检测到的错误发生的情况。命名是编译语言的保留,其中某些错误可以在编译时检测到。与 LogicException
一样,其他一些 SPL 异常也继承自它。
您可能不想将其中任何一个用作您自己的特定扩展的基础,除非您知道确定您的代码可能会在继承层次结构中产生另一个异常并且您希望捕获其中任何一个,而不是您的特定异常或所有异常。
关于php - LogicException 与 RuntimeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5586404/