Клиент GWT «бросает исключение», вызывающая проблему компенсации
-
10-10-2019 - |
Вопрос
Я стараюсь использовать результат из API под названием J-Calais, а затем выпустите результат на веб-странице, я пишу весь код в клиенте, но он не может компилировать правильно, не знаю, почему ??? пожалуйста помоги. исходный код, как ниже:
Нет очевидной ошибки, но ее нельзя успешно скомпилировать ..... Большое спасибо:
public void onmoduleLoad () {// Создать таблицу для данных. stocksflextable.settext (0, 0, "type"); 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 Event) {
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"));
}
}
}
Решение
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