【问题标题】:catching unknown host exception in codename one在代号一中捕获未知主机异常
【发布时间】:2016-05-06 14:41:06
【问题描述】:

我正在使用codename one 构建一个应用程序

所以问题是,我需要使用该应用程序访问一个 URL。该 URL 带回了我在屏幕上显示的一些结果。

所以我使用这些行来做到这一点:

ConnectionRequest c = new ConnectionRequest() {

                protected void readResponse(InputStream input) throws IOException {


                    ByteArrayOutputStream bs = new ByteArrayOutputStream();

                    int ch;

                    while ((ch = input.read()) != -1) {

                        bs.write(ch);
                    }
                    serverOutput = new String(bs.toByteArray());
                    bs.close();
                }
            };
            c.setUrl("My URL HERE");
            c.setPost(false);


            NetworkManager.getInstance().addToQueueAndWait(c);

所以,现在,如果 gprs 处于活动状态,这段代码可以正常工作。

但是,如果 GPRS 处于非活动状态,它会抛出 Unknow Host Exception

为了捕捉这个错误,我尝试使用这样的 try catch 块:

try{
 NetworkManager.getInstance().addToQueueAndWait(c);
}
catch(Exception e)
{
Sys.out.pln(e.troString());
}

但是,我仍然在应用程序中以对话框的形式收到错误。我如何捕捉到这个错误并自己处理它?

更新 1:

我不确定这一定是一个特定问题的代号,或者与 java 相关......所以请帮我解决这个问题。

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    试试这个来处理所有连接的一般错误:

    NetworkManager.getInstance().addErrorListener(new ActionListener() {
    
         public void actionPerformed(ActionEvent evt) {
             //handle your error here consume the event
             evt.consume();
         }
    });
    

    或覆盖:

    protected void handleErrorResponseCode(int code, String message) {
    }
    

    还有:

    protected void handleException(Exception err) {
    }
    

    在您的连接请求代码中只为一个类执行此操作。

    【讨论】:

      【解决方案2】:

      试试看……

         public void init(Object context) {
              Display.getInstance().addEdtErrorHandler(new ActionListener() {
      
                  public void actionPerformed(ActionEvent evt) {
                      evt.consume();
      
                      Throwable exception = (Throwable) evt.getSource();
                  }
              });
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 2011-05-24
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 2012-07-21
        相关资源
        最近更新 更多