为什么方法不抛出异常

时间:2014-05-06 12:30:46

标签: java hibernate exception

在这种方法中,我使用SessionFactory.openSession()来获取休眠Session

public static Session getSession() {
    Session session = null;
    if (factory == null) {
        session = initSessionFactory().openSession(); //initSessionFactory() returns SessionFactory object.
    } else {
        session = factory.openSession();
    }
    return session;
}

因为,方法SessionFactory#openSession()抛出HibernateException,那为什么我的方法不会抛出异常,为什么没有任何CompileTime错误?

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

因为HibernateException是RuntimeException,就像NullPointerException

一样

继承层次结构是

RuntimeException - > NestedRuntimeException - > HibernateException

答案 2 :(得分:0)

HibernateException继承自RuntimeException。您不必抓住或声明RuntimeExceptions

请参阅RuntimeExceptions

答案 3 :(得分:0)

HibernateException扩展了RuntimeException,因此使其成为未经检查的异常。

Unchecked exceptions don't need to be caught