我找到两中解决的方法:
1.将bookItems提升为成员变量然后在函数的最后部分,返回。
public ArrayList getBookItemList()
{
.....
return bookItems(最后的位置);
}
1.将bookItems提升为成员变量然后在函数的最后部分,返回。
public ArrayList getBookItemList()
{
.....
return bookItems(最后的位置);
}
解决方案 »
- 自己做的网站怎样推广?
- 数字证书的问题
- 有用过terasoluna的吗
- struts2配置问题tomcat启动报错
- 定时器 (哭求)
- 谁有StrutsInAction(Struts在行动)这本书的附带源码
- 请问大家odbc 和jdbc 除了能在局域网中用,能在internet上连接上远程的数据库服务器吗?
- 能不能給我一個JDBC for SQL server的驅動呀?免費的而且比較好用的。
- hql查询数据,本来应该是出来数据库里的前十条,结果出来了十条一样的,也就是第一条出来了十遍
- 表单提交的时候保存和返回只要两个图片就好了吗 不要具体的方法
- 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,但异常好象是不需要的呀。是这样的吗?有没有其他人可以作个裁决呀?