java - 具有异常处理的方法的构建器模式

标签 java oop exception-handling

我有几个看起来像这样的方法:

public void do(A a, B b);

public void do(A A, C c);

public void do(D d, A a);

public void do(D d, E e, X x, F f, Optional<A> a);

依此类推,基本相同但参数不同的方法有几十种。

现在我考虑使用构建器模式,它允许我使用如下功能:

withA(a).withB(b).withX(x).do();

但是,问题是几十个方法中有一个抛出异常。如果我使用构建器模式,则 do() 将不得不抛出此异常,因此所有客户端都必须处理它。在我看来,这听起来像是个问题。

我的问题:

  • 这是个问题吗?
  • 如果是,如何避免?

最佳答案

是的。这是一个问题。

你可以:

  1. 如果您知道如何处理异常并且要设置的字段是可选的,则捕获异常。

  2. 但是,如果在您尝试设置必填字段时抛出异常,则意味着出现了问题,整个操作应该会失败。

关于java - 具有异常处理的方法的构建器模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45189045/

相关文章:

java - 是否有使用 Mina 2.x 的 modbus 实现?

c++ - 将属性传递给基类的机制

python - 如何在Python中将所有引用变量设置为None?

oop - getAttribute() 方法的意义是什么

java - 抛出 Java 异常时是否生成堆栈跟踪?

c# - 区分相同类型的异常

java - 如何在无空设计中实现List、Set、Map?

java - 在二维数组java中查找重复单元格

c# - 将未知值传递到 switch 语句时,我应该抛出什么类型的异常

Java repaint() 在监听器中的行为与在其余代码中的行为不同