throw new Exception();
如果将此语句放在方法中,则应在方法名称后添加throws Exception
。或者,您可以使用 try-catch 将语句括起来。
try {
throw new Exception();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但这里有什么意义呢?编译器允许它,所以我只想知道它是否是故意设计的。我很好奇。
实际上,这在某些情况下很有用。
比如说,你想执行一系列任务,如果其中任何一个失败,你想中止序列并执行其他任务。
确实,您可以使用一系列 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
}