我有一个关于在 Java 中引发异常的问题,这似乎是我的一种误解,我想为自己澄清一下。
我一直在阅读处理异常代码的两种基本方法是:
1.) 使用“throw new ...”在 try-block 中抛出异常,并立即在 catch-block 中捕获它——所谓的 try-throw-catch 机制。
2.) 用“throw new ...”在方法中抛出异常,然后在方法的标头中声明该方法可能会用“throws ...”抛出异常 - 即所谓的 pass-the-buck。
我最近读到“抛出异常然后用相同的方法捕获它没有任何意义”,这让我思考是否我理解错误的方式,或者写这个的人有什么东西其他的。第一种处理异常的方法不正是这样做的吗(try-throw-catch 机制)?我的意思是,它抛出一个异常并以相同的方法捕获它。我已经读过,在一种方法中抛出异常并在另一种方法中捕获它是一种更好的做法,但这只是一种(可能更好)的方法。另一种方式也是合法和正确的,不是吗?
请您对此发表评论好吗?非常感谢。