由於某些原因,我不喜歡拋出異常,也許是因爲性能不佳,我不知道,是否應該重新考慮這個問題。服務層應該拋出異常嗎?
我的服務層(使用Dao's +業務邏輯等)應該拋出異常嗎?
public ModelAndView createProduct(@Valid ProductForm productForm, ..) {
ModelAndView mav = new ModelAndView(...);
if(bindingResult.hasErrors()) {
return mav;
}
// throw exception if user doesn't have permissions??
productService.create(product, userPermissions);
}
所以我在ProductService的創建方法選項:
- 如果用戶沒有權限,拋出一個異常
- 回報某種一個Response對象的,將有新產品ID是否成功,以及成功/失敗標誌和錯誤集合。
事情要記住:
我可以在非Web應用程序重新使用此服務層,也是一個RESTful Web服務。
什麼被認爲是最佳實踐?