http请求后GWT中未捕获的异常

时间:2011-04-15 19:11:23

标签: java javascript exception gwt httpwebrequest

我有一个使用GWT创建的Web应用程序,它通过http请求与php文件交互。我向以下php文件发出请求: http://localhost/bibliotheek/php/addUser.php?username=username.test2&group=test&admin=false&password=&topadmin=false

当我在托管模式下执行此操作时(编译后),我得到以下异常:

  未被捕的例外:[例外......   “'java.lang.NumberFormatException:For   输入字符串:“”'调用方法时:   [nsIDOMEventListener ::的handleEvent]”   nsresult:“0x8057001c   (NS_ERROR_XPC_JS_THREW_JS_OBJECT)”   位置:“JS框架::   chrome://firebug/content/spy.js ::   callPageHandler :: line 744“数据:   没有]

     

第0行

我仅在此请求时获得此异常,而不是其他请求。我使用以下代码发出请求:

protected void addUserToTheDatabase(String[] data) {


    String file = "addUser.php?username=" + data[0] + "&group=" + data[1] + "&admin=" + 
                  data[2] + "&password=" + data[3] + "&topadmin=" + data[4];

    request object = new request(); 
    object.getMessageXml(file, "GET", "null", new AsyncCallback<String>() {

        @Override
        public void onFailure(Throwable caught) {
            new UserInterface.notification(BibPhp.error.INTERNET_CONNECTION);   
            caught.getMessage();
        }

        @Override
        public void onSuccess(String result) {

            if(Integer.parseInt(result) == 0) {
                new UserInterface.notification("Deze gebruikersnaam is reeds in gebruik.");
            }
            else {
                new UserInterface.notification("Gebruiker toegevoegd.");
            }
            new add(false);
        }
    });
}

我不知道我做错了什么,因为所有其他请求或完全相同,只是对另一个文件。 php文件不会生成响应,因此可以产生任何影响。

遇到此问题的任何其他人或任何建议?

提前致谢。

1 个答案:

答案 0 :(得分:1)

在onSuccess方法中,执行Integer.parseInt(result)。如果结果的值为“”,则可能会得到上述异常。我确认结果的值实际上是一个数字,而不是一个空字符串。你也可以试一试...抓住parseInt调用来捕获NumberFormatException并通知用户。