我找到两中解决的方法:
1.将bookItems提升为成员变量然后在函数的最后部分,返回。
public ArrayList getBookItemList()
{
.....
return bookItems(最后的位置);
}
1.将bookItems提升为成员变量然后在函数的最后部分,返回。
public ArrayList getBookItemList()
{
.....
return bookItems(最后的位置);
}
解决方案 »
- sql中的 * 和 % 有啥区别啊。?????
- java封装了数据库是怎么回事呀?
- 请问配置servlet servlet-name 一定要和 servlet-class 名称一样吗?
- 用java实现一个自动登陆discuz论坛,然后发帖提交数据是遇到问题,请帮忙检查一下问题出在哪里
- tomcat连接池访问database 和 jdbc直接访问 有何区别阿
- 数据库里时间的存储,你更偏向于哪种方式?
- 在web.xml中设置servlet映射的问题
- 求救!关于在struts中的tiles问题
- 谁能具体解释一下ejb的功能?
- 大家好,那位高手可否告知在websphere3.5下,ejb如何配置啊?
- java中应该如何调用SQL聚合函数max?
- 关于JB9与struts的问题
catch(Exception ex)
{
throw new EJBException(ex);
}
在找到该方法之前,我又碰到了一个麻烦,为什么它不让我这样抛呢?
throw new Exception(ex);
它报告 说:unreported exception java.lang.Exception;must be caught or declared to be thrown
难道不能原封不动的重抛吗?C++还可以的。
ArrayList bookItems = new ArrayList();try {
}
catch (Exception e) {
}return bookItems;
bookItems.add(bookItem);
}
return bookItems;
你的bookItems 到}的时候已经消亡了...你return的时候根本没有这个bookItems了...2要想throw exception,你必须要有 throws ... ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
方法声明处加入throws Exception
public ArrayList getBookItemList() throws Exception
{
.....
}
这样才可以
throw exception
{
try
{ Collection books = bookHome.findAllBooks(); ArrayList bookItems = new ArrayList();
Enumeration items = Collections.enumeration(books);
while(items.hasMoreElements())
{
Book book = (Book)items.nextElement();
System.out.println("enumeration");
BookItem bookItem = new BookItem(book.getIsbn(), book.getName());
bookItems.add(bookItem);
}
return bookItems;
}
catch(Exception ex)
{
System.out.println("Exception in findAllBooks in BookHandlerBean: " + ex);
return null;
}
}
要是发出异常不是没有返回值了吗?所以在 if(){}else{}里面也会出现这种问题
“你的bookItems 到}的时候已经消亡了...你return的时候根本没有这个bookItems了”
你好象看错了,我return的是bookitems不是bookitem,我的bookitems作用域在try内,是可以返回di.至于我没有声明throws Exception是因为我编的是EJB,我在远程接口已经声明抛出了。这里就没必要了。
异常机制和if else的return好象不同的呀,我同意你的看法,if else的每个分支都需要return,但异常好象是不需要的呀。是这样的吗?有没有其他人可以作个裁决呀?