我有兴趣了解使用 throw new Exception()
和 new Exception()
的最佳实践。在使用 new Exception()
的情况下,我看到代码移动到下一条语句而不是抛出异常。
但我被告知我们应该使用 new Exception()
来抛出 RuntimeException
。
任何人都可以对此有所了解吗?
原文由 Vineet Setia 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有兴趣了解使用 throw new Exception()
和 new Exception()
的最佳实践。在使用 new Exception()
的情况下,我看到代码移动到下一条语句而不是抛出异常。
但我被告知我们应该使用 new Exception()
来抛出 RuntimeException
。
任何人都可以对此有所了解吗?
原文由 Vineet Setia 发布,翻译遵循 CC BY-SA 4.0 许可协议
Exception e = new Exception ();
只是创建一个新的异常,您稍后可以抛出它。使用
throw e;
然而
throw new Exception()
在一行中创建并抛出异常
创建并抛出运行时异常
throw new RuntimeException()
原文由 Daniel Scott 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
new Exception()
表示创建一个实例(与创建 new Integer(…) 相同)但在您抛出它之前不会发生异常…考虑以下片段:
如果参数为负,方法 foo() 将抛出异常,但如果参数为负,方法 foo2() 将创建异常实例