Java 方法签名抛出异常,但实现不抛出异常

Joe*_*Joe 3 java exception method-signature

我正在研究一种方法抛出的一些异常。该方法如下所示:

public void someMethod() throws someCheckedException{

  //doSomething statements
  //but no statements actually throws 'someCheckedException'

}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当实现根本没有 throw 语句时,是否可以使此方法抛出“someCheckedException”。

将抛出异常放在签名中而不实现抛出异常的语句是错误的吗?

小智 5

这完全没问题。方法签名中的 throw 语句是为了防止方法抛出在 throws 语句中声明的实际异常,并且通常将处理传递给不同的类。您只需记住在要使用此类方法时将其放入 try catch 语句中即可。