我有问题。我创建了一个通过UDP连接服务器的J2ME应用程序。应用程序工作正常,但我不能在服务器关闭时获得异常。所以我想要的是,例如,如果服务器关闭,应用程序会显示警报或无法连接到服务器的内容。
我知道我可以使用异常ConnectionNotFoundException
,但我不知道为什么我的代码永远不会进入那里。
以下是通过UDP建立连接的代码。
public void verifyUDPMessages(String idOperacion)
{
// String portString = "57775";
try
{
String rdo = "";
DatagramConnection dc = (DatagramConnection) Connector
.open("datagram://" + ipServer + ":" + portServer);
SendUDP(dc, ""+idNextel+"^"+idUltMensaje+"^"+idOperacion);
boolean keepBucle = true;
int tryReceive = 0;
while (keepBucle)
{
Datagram dg = dc.newDatagram(300);
dc.receive(dg);
// System.out.println(tryReceive);
String incidente = new String(dg.getData(), 0, dg.getLength());
// Have we actually received something or
// is this just a timeout ?
if (dg.getLength() > 0) {
if (incidente.equals("0")) {
keepBucle = false;
}
else {
System.out.println(incidente);
inicUIconectoServlet(incidente);
keepBucle = false;
}
}
System.out.println(tryReceive);
if (tryReceive == 5) {
keepBucle = false;
}
else {
tryReceive++;
}
}
// System.out.println(tryReceive);
dc.close();
}
catch ( ConnectionNotFoundException cnfe)
{
// Alert a = new Alert("Client", "Please run Server MIDlet first on port " + portServer,
// null, AlertType.ERROR);
System.out.println("error");
cnfe.printStackTrace();
// a.setTimeout(Alert.FOREVER);
// display.setCurrent(a);
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
}
答案 0 :(得分:1)
最好添加另一个catch块
catch(Exception ex)
{
//Handle the exceptions
}