1

还有,什么throws NumberFormatException, IOException意思?我一直试图BufferedReader通过说

BufferedReader nerd = new BufferedReader(new InputStreamReader(System.in));

但除非放入,BufferedReader否则将无法工作。throws NumberFormatException, IOException

4

3 回答 3

5

throws关键字表示某个方法可能潜在地“抛出”某个异常。您需要使用块或添加到您的方法声明来处理可能的IOException(以及可能的其他异常) 。像这样的东西: try-catchthrows IOException, (...)

public void foo() throws IOException /* , AnotherException, ... */ {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    in.readLine();
    // etc.
    in.close();
}


public void foo() {
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    try {
        in.readLine();
        // etc.
        in.close();
    } catch (IOException e) {
        // handle the exception 
    } /* catch (AnotherException e1) {...} ... */
}
于 2012-09-21T03:00:10.910 回答
4

Throws 子句用于声明未由特定方法处理的异常,并指示调用者显式处理这些异常或在调用层次结构中重新抛出它们。

于 2012-09-21T02:59:30.563 回答
1

throws 语句意味着该函数可能会“抛出”错误。即吐出一个将结束当前方法的错误,并使堆栈上的下一个“try catch”块处理它。

在这种情况下,您可以在方法声明中添加“throws....”,也可以执行以下操作:

try {
    // code here
} catch (Exception ex) {
    // what to do on error here
}

阅读http://docs.oracle.com/javase/tutorial/essential/exceptions/了解更多信息。

于 2012-09-21T03:01:20.300 回答