假设我们在业务层有以下方法。告诉 UI 层出现问题并给出错误消息的最佳实践是什么?该方法是否应该在正常时返回一个空字符串,否则返回错误消息,还是应该在包装捕获的异常的捕获代码中抛出另一个异常?如果我们选择第二个变体,那么 UI 应该有另一个 try,catch 太多的 try,catch 可能。这是第一个变体的伪代码。
public String updateSomething()
{
try
{
//Begin transaction here
dataLayer.do1();
dataLayer.do2();
dataLayer.doN();
//Commit transaction code here
}
catch(Exception exc)
{
//Rollback transaction code here
return exc.message;
}
return "";
}
这是一个好习惯还是我应该在 catch 中抛出另一个异常(然后该方法将无效)?