2014-11-25 6 views
0

Я немного зациклен на том, почему я получаю ошибку блока Try, когда я ее не использую.Ошибка Try/catch

Я получаю уведомление об ошибке в нижней части блока кода. Может кто-нибудь объяснить мне, почему это происходит, если я не использую try/catch?

Это говорит мне, что это то, что я должен использовать вместо цикла while?

Использование eclipse juno для разработки этого веб-приложения.

РЕДАКТИРОВАТЬ: Завершение в заявлении о попытке. Но теперь я получаю эту ошибку, указанную ниже. Удалено старый комментарий об ошибке для обновленного кода

Если кому-то нужно больше кода, дайте мне знать.

Перечислено здесь Ошибка, чтобы мы могли видеть весь текст. Над блоком поймать

ОШИБКА: Несколько аннотаций, найденные в этой строке: - ошибка синтаксиса, вставить «}», чтобы завершить ClassBody - ошибка синтаксиса, вставить «}», чтобы завершить Block - Синтаксическая ошибка в знак "}", удалите этот маркер

<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> 
+0

Это проблема. Почти все операции JDBC вызывают какое-то исключение; вы должны обернуть свой код в try/catch – kolossus

+1

как [ResultSet.next()] (https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#next()) и [ResultSet.getString()] (https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getString (java.lang.String)) throw [SQLException] (https : //docs.oracle.com/javase/7/docs/api/java/sql/SQLException.html), вы должны попытаться поймать код. Кроме того, почему вы пишете Java-код внутри JSP-страницы ??? – mprabhat

+0

Я сейчас пишу код на странице JSP, я не создал классы в java-файле. Я конвертирую ASP-код в JSP, поэтому я слежу за тем рабочим процессом, который сделал кто-то другой. – POPEYE1716

ответ

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> 
+0

Спасибо, я удалил эту скобку и добавил инструкцию try, пока первая ошибка не исчезла – POPEYE1716

0

Resultset.next() может бросить SQLException; любой вызов этого метода должен быть завернут в блок try/catch.

Смежные вопросы