我觉得如何按OOP的思想来做的话,用throw new 逻辑名Exception比较合适一些.
业务逻辑层:应该返回 errorMessage
当然如果是我的话,我会返回errorcode,然后有errorcode去对应resource中预先定义的错误信息,显示到页面上。
我个人比较喜欢
throw new BusinessLogicalException(errorMessage);
或者DataAccessException
等等……
如果不管什么错误都抛异常会有性能问题。返回错误信息又不太OO。建议先进性验证,确保若不是网络或服务器挂掉就不会出错。这样在BusLogic.BillService.Insert(BillInfo info)函数里就只会在服务器挂掉这种真正的“异常”情况下才抛异常。
逻辑层只管扔异常,便于将来移植,但是调用逻辑层前还要确保一下“大多数情况下是正确的”