Поймай без попытки - PullRequest
       28

Поймай без попытки

0 голосов
/ 04 марта 2019

У меня есть проблема, когда я выполняю этот сервлет в cmd, он показывает мне ошибку: 'catch' без 'try' catch (XQException e) {

Я буду очень признателен, если вы обнаружите ошибку в моемсервлет

public void doGet(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException{
try  {

    response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        ServletContext context = getServletContext();  
        XQDataSource ds = new SaxonXQDataSource();
        XQConnection conn = ds.getConnection();                      
    String xqueryRequest="for $t in doc('/WEB- 
    INF/theatre.xml')/theatres/theatre"+
    "order by $t/nom"+
    "return"+
    "<theatres>"+
    "<theatre>"+
    "{$t/nom}"+
    "{$t/adresse}"+
    "</theatre>"+
    "</theatres>";
  InputStream xsl = (InputStream)(context.getResourceAsStream("/WEB- 
  INF/theatre.xsl"));
        Source xslDoc3 =  new StreamSource(xsl);

      XQPreparedExpression exp = conn.prepareExpression(xqueryRequest);  
        XQResultSequence result = exp.executeQuery(); 

        while (result.next()) {  
            out.println(result.getItemAsString(null));  
        }   

    StringWriter swr3 = new StringWriter();
    out.println(swr3.toString());
    out.close();
    }
    catch(Exception ex1){
    ex1.printStackTrace();
    }
     catch (FileNotFoundException e) {  
        e.printStackTrace();  
    }
      finally{
    catch (XQException e) {  
        e.printStackTrace();  
    } 
      }

}
}

так, вы можете помочь мне?и спасибо всем вам.

1 Ответ

0 голосов
/ 04 марта 2019

Простой: улов в вашем блоке finally не приходит после попытки!

Не имеет значения, что была попытка до завершения здесь!Ключевое слово finally «заканчивает» список блоков перехвата, принадлежащих начальному оператору try.Таким образом, подвох в этом блоке finally является "сиротой", ему не хватает предыдущей попытки.

...