Tengo la clase principal de Java, en la clase, comienzo un nuevo hilo, en el principal, espera hasta que el hilo muere. En algún momento, lanzo una excepción de tiempo de ejecución desde el hilo, pero no puedo atrapar la excepción lanzada desde el hilo en la clase principal.
Aquí está el código:
public class Test extends Thread
{
public static void main(String[] args) throws InterruptedException
{
Test t = new Test();
try
{
t.start();
t.join();
}
catch(RuntimeException e)
{
System.out.println("** RuntimeException from main");
}
System.out.println("Main stoped");
}
@Override
public void run()
{
try
{
while(true)
{
System.out.println("** Started");
sleep(2000);
throw new RuntimeException("exception from thread");
}
}
catch (RuntimeException e)
{
System.out.println("** RuntimeException from thread");
throw e;
}
catch (InterruptedException e)
{
}
}
}
¿Alguien sabe por qué?