我有点担心为什么我在没有使用时遇到Try块错误。
我收到代码块底部附近的错误通知。如果我没有使用try / catch,有人可以向我解释为什么会发生这种情况吗?
它告诉我这是我应该使用的而不是while循环吗?
使用eclipse juno开发此Web应用程序。
编辑:包含在try语句中。但是,现在我收到下面列出的错误。删除了更新代码的旧错误评论
如果有人需要更多代码,请告诉我。
列出的错误在这里我们可以看到整个文本。在阻挡区块上方
错误:在此行找到多个注释: - 语法错误,插入“}”完成 ClassBody - 语法错误,插入“}”完成 块 - 令牌“}”上的语法错误,删除它 令牌
<tr><td><select name="selBaseCurr">
<%
while ( ! rs.next()) {
try{
if (fEmptyRecordset){
break;
}
if (! fFirstPass){
rs.next(); //originally rs.getString;
} else {
fFirstPass = false;
}
if (rs.getString) {
break;
}
if ( ! rs.getString("BASE_CURR_CODE").equals("")){
%>
<option value="<%=rs.getString("BLMBG_CURR_CODE")%>" <%if (rs.getString("BLMBG_CURR_CODE").trim()) eq (request.getParameter("selBaseCurr").trim());%>selected="true"<%}%>><%=rs.getString("BLMBG_CURR_NAME")%> (<%=rs.getString("BLMBG_CURR_CODE")%>)</option>
<% //Multiple annotations found at this line
}catch(Exception ex){
System.out.println(ex);
}finally{
if(fFirstPass = true){
}
if (! fEmptyRecordset){
rs.next();//originally rs.getString;
}
}
%>
</select>
答案 0 :(得分:1)
还有一个额外的大括号,导致异常..
<tr><td><select name="selBaseCurr">
<%
while ( ! rs.next()) {
if (fEmptyRecordset){
break;
}
if (! fFirstPass){
rs.next(); //originally rs.getString;
} else {
fFirstPass = false;
}
if (rs.getString) {
break;
}
if ( ! rs.getString("BASE_CURR_CODE").equals("")){
%>
<option value="<%=rs.getString("BLMBG_CURR_CODE")%>"
<%if (rs.getString("BLMBG_CURR_CODE").trim()) eq
(request.getParameter("selBaseCurr").trim());%>
selected="true"
<%}%>>
<%=rs.getString("BLMBG_CURR_NAME")%>
(<%=rs.getString("BLMBG_CURR_CODE")%>)</option>
<%
}
// } This one is extra in your code!!
fFirstPass = true;
if (! fEmptyRecordset)
{
rs.next();//originally rs.getString;
}
%>
</select>
</td></tr>
答案 1 :(得分:0)
Resultset.next()
可以抛出SQLException;对此方法的任何调用都必须包含在try / catch块中。