throw new Exception();
如果将此语句放在方法中,则应在方法名称后添加throws Exception
。 或者,您可以使用try-catch 包围声明。
try {
throw new Exception();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但这有什么意义呢?编译器允许它,所以我只想知道它是否是故意设计的。我很好奇。
答案 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
}