【问题标题】:Throwing custom exceptions without messages抛出没有消息的自定义异常
【发布时间】:2017-02-28 23:48:30
【问题描述】:

我以前没有使用过自定义异常,现在看来我可能需要它们,但我不确定我是否正确理解它们应该如何使用。

假设我有一个这样的自定义异常:

class not_found_exception extends exception{ }

然后我有一堆请求处理函数(我认为它们在野外被称为控制器)。每个函数都可以抛出不同类型的异常。如果 URL 不匹配,它会抛出我的自定义异常,脚本将捕获该类型的异常并在捕获时跳到下一个请求处理程序。但是其他类型的异常不应该被捕获,因为它们意味着 url 匹配但应该显示一些其他错误。

问题是我的自定义异常不需要错误消息,因为它不会出现在任何地方,因为它应该被捕获,但其他异常会。那么只抛出一个空的 not_found_exception 异常可以吗?

【问题讨论】:

    标签: php error-handling try-catch except


    【解决方案1】:

    简短的回答很简单:是的。那没关系。 有关异常的最佳实践的更多信息,请参阅此博客。它可能是为 .NET 编写的,但理论仍然可以应用于 PHP。

    https://blogs.msdn.microsoft.com/kcwalina/2007/01/30/how-to-design-exception-hierarchies/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-06
      • 2018-07-20
      • 2023-03-05
      • 1970-01-01
      • 2011-09-18
      • 1970-01-01
      • 2011-10-06
      相关资源
      最近更新 更多