在我的Rest Service实施中,我有一个作为DTO对象的响应,我有一个要求,在发生错误或某些条件不满足的情况下,我希望将DTO作为空对象。

下面列出的是我想知道的Jave代码

public OutputDTO methodName(InputDTO inputDTO){
try {
   if(Some condition met){
     OutputDTO output =  getResultsFromDatabase()
}
else {
OutputDTO outputDTO =  new OutputDTO();
outputDTO.setStatus("Error");
outputDTO.setStatusMessage("Condition not met");}
}catch(Exception e){
OutputDTO outputDTO =  new OutputDTO();
outputDTO.setStatus("Error");
outputDTO.setStatusMessage(e.toString);}

}


有没有办法我不能在catch块和else块中有重复的代码,我在问有没有办法将DTO对象设置为null并更有效地做到这一点。同样,所有DTO都继承自其中具有status和statusMessage的AbstractDTO。

最佳答案

else部分,引发异常:

else {
    throw new Exception("Condition not met")
}


或者,您可以使用finally块。

10-04 11:02