黑莓httpConnection无法处理错误200

时间:2012-05-23 12:35:53

标签: blackberry httpconnection

我无法收到错误消息。当连接正常时,我可以看到消息“连接正常”。但是当我想连接到“坏”的ip服务器时,我看不到消息“Bad Connection”。 为什么是这样?我等到2分钟(我读连接有2分钟超时)但没有任何反应。

我想要做的是取消我的连接并显示消息连接错误或我无法从服务器获取信息。

public void run() {

        try {

            conn = (HttpConnection) Connector.open(URL);

            int status = conn.getResponseCode();

            if (status != HttpConnection.HTTP_OK) {
                UiApplication.getUiApplication().invokeLater(new Runnable() {
                    public void run() {
                        mainScreen.add(new RichTextField("Bad Connection"));
                    }
                });
                conn.close();
                return;
            }

            InputStream contentIn = conn.openInputStream();
            byte[] data = new byte[400];
            int length = 0;

            StringBuffer raw = new StringBuffer();
            while (-1 != (length = contentIn.read(data))) {
                raw.append(new String(data, 0, length));
                str = raw.toString();
                conn.close();
                UiApplication.getUiApplication().invokeLater(new Runnable() {
                    public void run() {
                        mainScreen.add(new RichTextField("Connection OK"));
                    }
                });
            }
        } catch (Exception e) {

        }
    }

1 个答案:

答案 0 :(得分:0)

如果你的坏服务器没有运行,连接就会超时。这将从对Connector.open()的调用中抛出异常,并且您的catch处理程序为空,因此没有任何反应。尝试将一些UI代码添加到异常处理程序中。