我有几个看起来像这样的方法:
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()
将不得不抛出此异常,因此所有客户端都必须处理它。在我看来,这听起来像是个问题。
我的问题:
- 这是个问题吗?
- 如果是,如何避免?
最佳答案
是的。这是一个问题。
你可以:
如果您知道如何处理异常并且要设置的字段是可选的,则捕获异常。
但是,如果在您尝试设置必填字段时抛出异常,则意味着出现了问题,整个操作应该会失败。
关于java - 具有异常处理的方法的构建器模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45189045/