Exception BlackBerry-使用连接器发送短信时出现空消息异常

Exception BlackBerry-使用连接器发送短信时出现空消息异常,exception,networking,blackberry,sms,Exception,Networking,Blackberry,Sms,我使用了给定的代码,但我得到了IOCancelledException和IOException。和iocancelledeException.getMessage()/IOException.getMessage()givingnullstring,它不会给出错误消息。请帮我解释一下原因 class SMSThread extends Thread { Thread myThread; MessageConnection msgConn; String message;

我使用了给定的代码,但我得到了
IOCancelledException
IOException
。和
iocancelledeException.getMessage()/IOException.getMessage()
giving
null
string,它不会给出错误消息。请帮我解释一下原因

class SMSThread extends Thread {
    Thread myThread;
    MessageConnection msgConn;
    String message;
    String mobilenumber;

    public SMSThread(String textMsg, String mobileNumber) {
        message = textMsg;
        mobilenumber = mobileNumber;
    }

    public void run() {
        try {
            msgConn = (MessageConnection) Connector.open("sms://+"
                    + mobilenumber);
            TextMessage text = (TextMessage) msgConn
                    .newMessage(MessageConnection.TEXT_MESSAGE);
            text.setPayloadText(message);
            msgConn.send(text);
            msgConn.close();
        } catch (IOCancelledException ioce) {
            System.out
                    .println("IOCancelledException: " + ioce.getMessage());
        } catch (IOException ioe) {
            System.out.println("IOException: " + ioe.getMessage());
        } catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}

我刚刚测试了样本,我不能复制异常

启动设备仿真器时,您是否正在运行?
(必须模拟网络连接)

这是我的密码:

class Scr extends MainScreen {

    BasicEditField mPhoneNumberField = new BasicEditField("phone number", "");
    BasicEditField mSMSField = new BasicEditField("sms text", "");

    public Scr() {
        add(mPhoneNumberField);
        add(mSMSField);
    }

    protected void makeMenu(Menu menu, int instance) {
        super.makeMenu(menu, instance);

        menu.add(new MenuItem("send sms", 0, 0) {
            public void run() {
                SMSThread thread = new SMSThread(mSMSField.getText(),
                        mPhoneNumberField.getText());
                thread.start();
            }
        });
    }

    class SMSThread extends Thread {
        Thread myThread;
        MessageConnection msgConn;
        String message;
        String mobilenumber;

        public SMSThread(String textMsg, String mobileNumber) {
            message = textMsg;
            mobilenumber = mobileNumber;
        }

        public void run() {
            try {
                msgConn = (MessageConnection) Connector.open("sms://+"
                        + mobilenumber);
                TextMessage text = (TextMessage) msgConn
                        .newMessage(MessageConnection.TEXT_MESSAGE);
                text.setPayloadText(message);
                msgConn.send(text);
                msgConn.close();
            } catch (IOCancelledException ioce) {
                System.out
                        .println("IOCancelledException: " + ioce.getMessage());
            } catch (IOException ioe) {
                System.out.println("IOException: " + ioe.getMessage());
            } catch (Exception e) {
                System.out.println("Exception: " + e);
            }
        }
    }
}

您是在同一代码运行期间收到“IOCancelledException”和“IOException”还是以不同的方式收到的?我在上面的代码中添加了以下行,它解决了我的问题。。。msgConn=(MessageConnection)Connector.open(“sms://:0”);text.setAddress(“sms://+91”+mobilenumber);