站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题"Unhandled exception type Exception"是什么错误

"Unhandled exception type Exception"是什么错误

摘要: "Unhandled exception type Exception"是什么错误


菜鸟,刚开始学java,修改一个servlet时...

String[][] s2AllTablePara=null;
s2AllTablePara=MyDao.s2getTablePara(para1,para2);
在eclipse中下面这行
s2AllTablePara=MyDao.s2getTablePara(para1,para2);
报错,"Unhandled exception type Exception",是什么原因造成的呢,还望指教


函数的原形是这样的
public static String[][] s2getTablePara(String sWhichTable, String strDS)
throws Exception {
//直接获取参数为要查询的字符串。
String strQuery = "select * from "+sWhichTable;
//WSSysLog.info(strQuery);
String strDataSource = strDS;
//WSSysLog.info(strDS);
//定义要返回的变量
String [][] s2Tmp=null;
Connection con;
Statement stmt;
try {
DataSource ds = getDSContext(strDataSource);
con = ds.getConnection();
con.setReadOnly(true);
stmt = con.createStatement();
} catch (Exception e) {
WSSysLog.printError(e);
con = null;
throw new WSException(e);
}

ResultSet rs = stmt.executeQuery(strQuery);
ResultSetMetaData rsmd = rs.getMetaData();
int count = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= count; i++) {
s2Tmp[i-1][0] = rsmd.getColumnName(i);
System.out.println("column name is "+s2Tmp[i-1][0]);
s2Tmp[i-1][1] = rsmd.getColumnClassName(i);
System.out.println("column type is "+s2Tmp[i-1][1]);
}
}
rs.close();
stmt.close();
try {
con.close();
} finally {
con = null;
}
return s2Tmp;
}


mark!

---------------------
代表城管来接分(怕了吧?)。
不给就抢,一天一次...


try {
con.close();
} finally {
con = null;
}

你这里怎么没有catch块?


缺少 }catch(Exception ex){

。。晚了 被楼上抢了


问题不在try finally,这样的写法是正确的,只是没有抓异常而已。


你的二维数组使用前没有初始化大小

String [][] s2Tmp=null;

..
..
..

int count = rsmd.getColumnCount();

s2Tmp = new String[count][];

...

另外取到ResultSetMetaData 之后直接根据column的长度做循环即可,为何还要遍历rs呢?

你不就是为得到columnname和columntype吗



public static String[][] s2getTablePara(String sWhichTable, String strDS)
throws Exception {}
这是一个抛异常的方法

应该要在这里
try{
s2AllTablePara=MyDao.s2getTablePara(para1,para2);

}catch(Exception e){

}


不过这样也应该没有问题。

可能是类型错误吧 `


try{
s2AllTablePara=MyDao.s2getTablePara(para1,para2);

}catch(Exception e){
}
通过

当然kevinliuu(@。@) 说的也没有错


↑返回目录
前一篇: 在weblogic 8.1上部署EJB时出错,在线等待
后一篇: 这个jdbc的问题很奇怪啊?谁碰到过?怎么解决呢?