使用try catch环绕“抛出新异常()”

时间:2013-12-27 03:30:50

标签: java exception

throw new Exception();

如果将此语句放在方法中,则应在方法名称后添加throws Exception或者,您可以使用try-catch 包围声明。

try {
    throw new Exception();
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

但这有什么意义呢?编译器允许它,所以我只想知道它是否是故意设计的。我很好奇。

1 个答案:

答案 0 :(得分:3)

实际上,这在某些情况下很有用。

说,你想要执行一系列任务,如果其中任何一个失败,你想要中止序列并完成其他任务。

确实,您可以使用一系列if语句执行相同操作,但这提供了另一种方法。

try{
// do task 1
// if failed, throw new Exception("Task 1 Failed");

// do task 2
// if failed, throw new Exception("Task 2 Failed");

// do task 3
// if failed, throw new Exception("Task 3 Failed");

...

}catch(Exception e){
 // System.err.println(e.getMessage());
 // do somthing else
}