J2ME - 无法获取ConnectionNotFoundException

时间:2012-03-30 14:45:36

标签: exception java-me connection udp midp

我有问题。我创建了一个通过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();
      }

  }

1 个答案:

答案 0 :(得分:1)

最好添加另一个catch块

catch(Exception ex) 
{
    //Handle the exceptions 
}