java - 用 try catch 包围 "throw new Exception()"

标签 java exception

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/

相关文章:

java - 生成 java POCO 并通过读取 json 文件来填充它们,所有这些都是动态的

java - 检查子页面与父页面融合的可用性的最佳方法?

java - 静态内存无人认领

C# throw 语句多余?

java - 将日期转换为毫秒在 Android (java) 中给出不一致的结果

java - 访问用于异步 I/O 的缓冲区到底有哪些限制?

java - 在运行时检查异常是否为已检查异常

python - 验证列表索引时,是事先检查有效性还是捕获并处理 IndexError 更好?

c# - 如何向现有的依赖属性回调添加逻辑?

c++ - 如果第一次失败,重新尝试内存分配?