刚刚学习JAVA,看到try catch语句,有点好奇,
static{
try{
configuration.configure(configFile);
sessionFactory=configuration.buildSessionFactory();
}catch(Exception e){
System.err.println("%%%% Error Creating SessionFactory %%%%");
e.printStackTrace();
}
难道sessionfactory会经常创建失败吗?
为什么定义一个新变量的时候不用try catch
try{
int num=10;
}catch(Exception e){
System.err.println("Error");
e.printStackTrace();
}
有抛出才需要捕获。
为什么buildSessionFactory需要捕获,因为方法声明了异常,意思就是这个buildSessionFactory方法出现HibernateException异常怎么办,交给调用他的类处理。
public class Configuration implements Serializable {
public SessionFactory buildSessionFactory() throws HibernateException {
……
}
调用他的方法必须处理,要么try-catch,要么也是throws HibernateException。
简单的赋值不会产生异常的,顶多是编译错误。