尝试/捕获错误

时间:2014-11-25 17:22:10

标签: java eclipse jsp

我有点担心为什么我在没有使用时遇到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")%>&nbsp;(<%=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>

2 个答案:

答案 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")%>&nbsp;
        (<%=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块中。