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
}
关于java - 用 try catch 包围 "throw new Exception()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20794320/