使用try / catch语句的规则是什么,而不是仅抛出异常并在方法声明中添加“throws Exception”?
try / catch是否应该用于客户端代码,并且“throws Exception”是否在API方法中?
答案 0 :(得分:5)
检查例外的一般逻辑是 - 如果您可以在特殊情况下采取措施,请执行此操作。否则 - 重新抛出。
请注意,{@ 1}}应该避免,但我认为你的意思是throws Exception
- 尽可能具体。
检查异常的真正好处是有限的,但它们被过度使用。这导致(在许多情况下是合理的)将它们简单地包装在未经检查的异常中:
throw SomeException
我已就此事分享了我的想法here。
答案 1 :(得分:0)
如果您希望使用其他方法来处理它,则抛出异常。如果您期望异常并且想要在那里处理它,请尝试/ catch。
答案 2 :(得分:0)
如果你知道如何处理异常并且处理它是有意义的,那么处理它,否则用throws
传递它。
FatalError
。 当然,请记住,如果要扩展类并重写现有方法,则必须匹配原始方法的方法原型。这可能需要您处理您想要通过的异常。