黑马程序员技术交流社区

标题: 在异常中返回对象出错 [打印本页]

作者: 李东城    时间: 2013-2-4 23:59
标题: 在异常中返回对象出错
  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中返回对象有什么需要注意的么?
作者: 刘凯    时间: 2013-2-5 00:45
Object item=getSession().get(clz, id);
楼主说这句肯能会有异常?
如果getSession().get(clz, id);
方法出现异常
catch(RuntimeException e)会接收异常
并执行
{
e.printStackTrace();
}
finally{
closeSession();
}

所以
try中的  return item;并没有执行到
而 protected Object get(Class clz,Serializable id) 声明了返回值为Object 类型对象
所以必须在出现异常的情况下有Object 类型对象的返回才能编译通过  也就是说应该在catch里边有个return
我是这么认为的
作者: 李东城    时间: 2013-2-6 14:01
哦谢谢啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2