在我的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
块。