java - management - ¿Cómo soluciono un error de compilación de excepción no controlada en una llamada a Thread.sleep()?
java throw exception example (2)
Puedes deshacerte de la primera línea. No es necesario import java.lang.*;
Simplemente cambie su 5ta línea a:
public static void main(String [] args) throws Exception
Soy nuevo en Java y algo nuevo en la programación (sé que bucear directamente en Java probablemente no fue la mejor idea) y he estado recibiendo un error constantemente, sin importar cómo intento agregar una pausa en mi programa. Estoy haciendo un simple programa de conteo y quiero agregar un retraso de un segundo entre cada número aquí está el código que tengo hasta ahora:
import java.lang.*;
public class Counter
{
public static void main(String[]args)
{
int i;
for (i = 0; i <= 10; i++)
{
Thread.sleep(1000);
System.out.println(i);
}
System.out.println("You can count to ten.");
}
}
La llamada a Thread.sleep()
no se compilará. El compilador javac
dice: "excepción no denunciada InterruptedException; debe ser capturada o declarada para ser lanzada" y Eclipse dice, "excepción no controlada tipo InterruptedException"
Thread.sleep puede lanzar una InterruptedException que es una excepción marcada. Todas las excepciones comprobadas deben ser capturadas y manejadas, o bien debe declarar que su método puede lanzarlo. Debe hacer esto independientemente de si se lanzará o no la excepción. No declarar una excepción comprobada que su método puede arrojar es un error de compilación.
O necesita atraparlo:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
// handle the exception...
// For example consider calling Thread.currentThread().interrupt(); here.
}
O declare que su método puede lanzar una InterruptedException
:
public static void main(String[]args) throws InterruptedException
Relacionado