GWT-клиент «выдает исключение» вызывает проблему компиляции - PullRequest
0 голосов
/ 08 декабря 2010

Я пытаюсь использовать get result из API под названием j-calais, а затем выкладываю результат на веб-страницу, я пишу весь код в клиенте, но он не может скомпилироваться правильно, не знаю почему ??? пожалуйста помоги. исходный код, как показано ниже:

явной ошибки не возникает, но она не может быть успешно скомпилирована ..... большое спасибо:

public void onModuleLoad () { // Создать таблицу для биржевых данных. stocksFlexTable.setText (0, 0, «Тип»); stocksFlexTable.setText (0, 1, «Имя»);

// Assemble Add Stock panel.
addPanel.add(newSymbolTextBox);
addPanel.add(addStockButton);

// Assemble Main panel.
mainPanel.add(stocksFlexTable);
mainPanel.add(addPanel);
mainPanel.add(lastUpdatedLabel);

// Associate the Main panel with the HTML host page.
RootPanel.get("stockList").add(mainPanel);

// Move cursor focus to the input box.
newSymbolTextBox.setFocus(true);

// Прослушивать события мыши на кнопке Добавить. addStockButton.addClickHandler (new ClickHandler () { public void onClick (событие ClickEvent) {

                        try {
                            addStock();
                        } catch (Exception e) {
                            e.printStackTrace();
                        }

  }
});
// Listen for keyboard events in the input box.
newSymbolTextBox.addKeyPressHandler(new KeyPressHandler() {
  public void onKeyPress(KeyPressEvent event) {
    if (event.getCharCode() == KeyCodes.KEY_ENTER) {  
            try {
                addStock();
            } catch (Exception e) {
                e.printStackTrace();
            }
  }
  }
});

}

private void addStock() throws Exception {
  final String url_s = newSymbolTextBox.getText().toUpperCase().trim();
  newSymbolTextBox.setFocus(true);
  newSymbolTextBox.setText("");
  int row = stocksFlexTable.getRowCount();


  CalaisClient client = new CalaisRestClient("ysw5rx69jkvdnzqf6sgjduqj");
    System.out.print("read success...\n");
     URL url = new URL(url_s);    
     CalaisResponse response = client.analyze(url);         
        for (CalaisObject entity : response.getEntities()) {
            System.out.println(entity.getField("_type") + ":" 
                               + entity.getField("name"));
            stocks.add(entity.getField("_type"));
            stocksFlexTable.setText(row, 0, entity.getField("_type"));
            stocksFlexTable.setText(row, 1, entity.getField("name"));
          }

        for (CalaisObject topic : response.getTopics()) {
            System.out.println(topic.getField("categoryName"));
          }

}

}

1 Ответ

0 голосов
/ 08 декабря 2010

GWT обрабатывает только непроверенные исключения , поэтому вы можете выдать исключения времени выполнения

или написать собственное исключение, которое расширяет из исключения времени выполнения, затемне вызовет проблем со временем компиляции

void f() throws NullPointerException // will not cause any problem because it is Runtime exception so unchecked

void f() throws IllegalAccessException // it is checked exception so there will be problem at compile time
...