安卓(或许是Java)不熟悉;扔;使用

安卓(或许是Java)不熟悉;扔;使用,java,android,function,exception,throws,Java,Android,Function,Exception,Throws,我在Android示例代码中发现了一个不熟悉的“throws”用法,如下所示 public Void handleResponse(HttpResponse response) throws IOException { ... } 我只是想知道这个“抛出”在这种情况下是如何工作的。 我之所以发布此消息,是因为要找到合适的搜索词go google有点困难。在函数体handleResponse()中的某个地方可能会抛出IOException。调用函数时,需要将其包围在try..catch块中。

我在Android示例代码中发现了一个不熟悉的“throws”用法,如下所示

public Void handleResponse(HttpResponse response) throws IOException
{
  ...
}
我只是想知道这个“抛出”在这种情况下是如何工作的。
我之所以发布此消息,是因为要找到合适的搜索词go google有点困难。

在函数体
handleResponse()
中的某个地方可能会抛出IOException。调用函数时,需要将其包围在
try..catch
块中。

IOException
是一个选中的异常,因此如果方法中的代码可以抛出
IOException
(而您没有在方法中捕获它),则需要
抛出IOException
。如果
IOException
是运行时异常(如
NullPointerException
),则不需要这样做。也许你应该看看这个问题。

你应该从这个问题开始。来自同一教程:

所有方法都使用throw语句来抛出异常。throw语句需要一个参数:throwable对象。Throwable对象是Throwable类的任何子类的实例。下面是一个throw语句的示例


方法声明后的
throws
关键字表明此方法可能会引发此异常。这意味着任何调用方法都必须确保捕获此异常,如下所示:

...
try {
  var.handleResponse(response);
catch (IOException e) {
  // oops, something went wrong
  e.printStackTrace();
}

我认为你把
投掷
投掷
混为一谈了

throws
在方法的签名中指出,在某些情况下,它可以抛出
IOException
抛出新IOException()
将抛出实际异常


throws
关键字可以在每个Java程序中看到,如果异常是一个

这只是Java,任何Java初学者的书都应该涵盖它,它会迫使您将方法调用封装在一个
try{}catch(){}
块中。堆栈溢出对于特定的问题来说是很好的,但它确实不适合从头开始学习语言——你应该读一本好书或教程。谷歌搜索“java抛出关键词”的第二个链接。这个想法很好,我也这么想,他问汉克斯·斯特凡。这是第一次在声明中看到“throws”关键字。我从你简单的解释中明白了。谢谢!
...
try {
  var.handleResponse(response);
catch (IOException e) {
  // oops, something went wrong
  e.printStackTrace();
}