在线程内的控制台中没有空指针异常消息

10 浏览
0 Comments

在线程内的控制台中没有空指针异常消息

我有一个Java的主类,在这个类中,我启动了一个新的线程,在主类中,它等待直到线程结束。在某个时刻,我从线程中抛出了一个运行时异常,但是我无法在主类中捕获从线程中抛出的异常。

以下是代码:

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");
    }
    System.out.println("主类停止");
  }
  @Override
  public void run()
  {
    try
    {
      while(true)
      {
        System.out.println("** 开始");
        sleep(2000);
        throw new RuntimeException("线程中的异常");
      }
    }
    catch (RuntimeException e)
    {
      System.out.println("** 从线程中抛出的RuntimeException");
      throw e;
    } 
    catch (InterruptedException e)
    {
    }
  }
}

有人知道为什么吗?

0