A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李东城 中级黑马   /  2013-2-11 14:53  /  1397 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. protected Object get(Class clz,Serializable id){

  2. try{
  3. Object item=getSession().get(clz, id);
  4. return item;
  5. }catch(RuntimeException e){
  6. e.printStackTrace();
  7. }finally{
  8. closeSession();
  9. }
  10. }
复制代码
这段代码为什么提示 必须返回一个Object类型对象。  在try中返回对象有什么需要注意的么?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

1 个回复

倒序浏览
protected Object get(Class clz,Serializable id){

try{
Object item=getSession().get(clz, id);
return item;
}catch(RuntimeException e){
e.printStackTrace();
}finally{
closeSession();
}
}
这个问题是这个样子的,假如你的Object item=getSession().get(clz, id);发生异常
那就会抛出的异常并被catch(RuntimeException e)截获, 这样一来 return item;就不能被执行,而方法有返回值且为Object 类型的 所以必须有一个返回值
所以 可以这样写

protected Object get(Class clz,Serializable id){

try{
Object item=getSession().get(clz, id);
return item;
}catch(RuntimeException e){
e.printStackTrace();
return null;
}finally{
closeSession();
}
}

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马