在发送短信过程中,会出现两次抛出异常的地方,第一次:系统询问是否发送短信到某个号码。当用户点击取消,系统会抛出一个异常,不知道具体是什么异常,但至少不是java.io.IOException。第二次:当号码不正确时,系统会提示用户:短信发送失败,这阶段也会抛出一个异常(java.io.IOException:SMS server error).所以在开发过程中,可以根据抛出异常类型的不同,给出不同的提示信心。
成熟代码如下:
try
{
// 地址
String address = "sms://" + mobileNum;
System.out.println(address);
System.out.println(content);
// 建立连接
conn = (MessageConnection) Connector.open(address, Connector.WRITE,true);
// 设置短信息类型为文本,短信息有文本和二进制两种类型
TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
// 设置信息内容
msg.setPayloadText(content);
// 发送
conn.send(msg);
//发送成功
SendResultFlag = "yes";
Debug.add("send success");
}
catch(java.io.IOException ex)
{
Debug.add(ex.toString());//发送失败,抛出该异常
Debug.add("IOException");
}
catch (Exception ex)
{
SendResultFlag = "no";
ParentsCalendarPlan.sendfail= false;
Debug.add("cancal send!");
}
成熟代码如下:
try
{
// 地址
String address = "sms://" + mobileNum;
System.out.println(address);
System.out.println(content);
// 建立连接
conn = (MessageConnection) Connector.open(address, Connector.WRITE,true);
// 设置短信息类型为文本,短信息有文本和二进制两种类型
TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
// 设置信息内容
msg.setPayloadText(content);
// 发送
conn.send(msg);
//发送成功
SendResultFlag = "yes";
Debug.add("send success");
}
catch(java.io.IOException ex)
{
Debug.add(ex.toString());//发送失败,抛出该异常
Debug.add("IOException");
}
catch (Exception ex)
{
SendResultFlag = "no";
ParentsCalendarPlan.sendfail= false;
Debug.add("cancal send!");
}