【发布时间】:2011-11-29 17:03:36
【问题描述】:
我在持久化我的实体时使用了 EJB3/JPA,我很高兴它能够管理我的数据库相关 任务。 我唯一关心的是异常处理。我保存实体时的示例代码总是以这种方式出现。 我在网上阅读的大多数教程都是这种风格,也没有考虑异常处理。
@Stateless
public class StudentFacade{
@PersistenceContext(unitName = "MyDBPU")
private EntityManager em;
public void save(Student student) {
em.persist(student);
}
}
但我不知道在 EJB 应用程序中处理异常的最佳方式是什么? 处理异常时最好的方法应该是什么?
这是其他人处理异常的方式吗?会话外观上的 try catch 块?
@Stateless
public class StudentFacade{
@PersistenceContext(unitName = "MyDBPU")
private EntityManager em;
public void save(Student student) {
try {
em.persist(student);
} catch(Exception e) {
//log it or do something
}
}
}
还是让方法抛出异常?
public void save(Student student) throws Exception {
em.persist(student);
}
我不知道我的理解是否正确,因为我还在学习 EJB。 谢谢
【问题讨论】:
-
如果你抛出异常,你不需要捕获它