方法中抛出异常

时间:2014-03-10 17:38:47

标签: java exception-handling

public class X { 

      public void foo() throws Exception{ 
             System.out.print("hi "); 
             throw new Exception(); 
} 

public static void main(String[] args) throws Exception  {

                X c = new X();
                  c.foo();
    }    
}

在我的foo()方法中,我抛出异常并使用throws传播Exception。在我的main()方法中,我再次传播我的异常。 当我编译它工作正常。

我的问题是:为什么我不需要处理这个throw new Exception()?谁在照顾这个?

2 个答案:

答案 0 :(得分:0)

它会被抛到错误的控制台上 main方法声明“抛出异常”。
删除它,它将不再编译。

答案 1 :(得分:0)

每个线程都有一个handler用于未捕获的异常 - 终止线程的异常。默认异常处理程序在Throwable上调用终止线程的printStackTrace(),除非错误是ThreadDeath.的实例。您可以通过setting a custom handler,更改特定线程上的此行为一组线程extending ThreadGroup,或所有线程installing默认处理程序。