Java的异常处理机制是否是责任链设计模式的一个例子?

时间:2013-03-16 06:37:45

标签: java exception design-patterns exception-handling

我一直在阅读 责任链 设计模式,它基本上允许请求的发送者和请求的接收者之间的解耦。请求可以在链中传递,直到有人准备好使用请求。现在在Java中,当我们指定方法能够抛出Exception时,我们让方法的调用者处理异常。如果它不感兴趣,它可以进一步传播链上的异常。那么这个过程可以被引用为 责任链 设计模式的应用吗?

1 个答案:

答案 0 :(得分:5)

你是对的。 Java中的异常处理基于责任链模式 在这种模式中:

  1. 发件人不知道链中的哪个对象会为其提供服务 请求
  2. 链中的每个节点可以决定提供请求 - >抓住例外和 用特定于应用程序的异常包装它
  3. 每个节点都可以转发请求 - >将异常抛给直接来电者
  4. 该节点均无法提供请求 - >离开调用者的工作
  5. 因此,异常处理是责任链模式