2011-02-08 12 views
6

Esto es lo que quiero hacer: En el ciclo, si el programa encuentra un error, imprimirá "Nothing" y pasará al siguiente ciclo (se salta la impresión "" Servicio descubierto en puerto: "+ px + "\ n"?Cómo pasar a la siguiente información

¿Qué código debo poner en la captura "break" o "siguiente" o ??? (Esto es java)

+0

pregunta excelente !!! – Deepak

Respuesta

13

Si sólo desea imprimir un mensaje (o ejecutar algún código) si una excepción no se lanza en un momento determinado, a continuación, poner el código después de la línea que podría emitir la excepción:

try { 
    Socket s = new Socket(IPaddress,px); 
    System.out.print("Service discovered at port: " + px + "\n"); 
} catch(Exception e) { 
    System.out.print("Nothing\n"); 
} 

Esto hace que print no se ejecute si se lanza una excepción, ya que la instrucción try se cancelará.

alternativa, puede tener una declaración continue desde el interior del catch:

try { 
    Socket s = new Socket(IPaddress,px); 
} catch(Exception e) { 
    System.out.print("Nothing\n"); 
    continue; 
} 
System.out.print("Service discovered at port: " + px + "\n"); 

Esto hace que todo el código después del try/catch no se ejecuta si se produce una excepción, ya que el bucle se le dice explícitamente para ir a la siguiente iteración.

+2

+1 por responder la pregunta original y brindar una buena alternativa. – Mikaveli

+0

Gracias por la alternativa ... continuar funciona bien – Deepak

15

Use la siguen palabra clave:

continue; 

Romperá el curr iteración completa y continuar desde la parte superior del ciclo.

aquí hay algo de lectura adicional:

continue Keyword in Java

3

La palabra clave que está buscando es continue. Al poner continue después de su declaración de impresión en el bloque catch, las líneas restantes después del final del bloque catch se omitirán, la próxima iteración comenzará.

1

De cualquier

  • Uso del continue palabra clave en el bloque de excepción
  • Mover el "Servicio ..." al final del bloque try
Cuestiones relacionadas