在读取URL时读取oracle文档,但我不确定抛出异常的内容是什么?
import java.net.*;
import java.io.*;
public class URLReader {
public static void main(String[] args) throws Exception {
URL oracle = new URL("http://www.oracle.com/");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
http://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html
答案 0 :(得分:1)
该程序内部调用的一些方法(例如与IO相关的事情通常会这样做)抛出checked exceptions。已检查的异常必须使用try/catch
处理,或者包含在方法签名中,并带有throws
子句,这些与IO相关的方法有。
通过用throws Exception
标记主方法,他们基本上说“如果我的程序中发生异常,就让它死掉。我不想处理它们。”在现实世界的代码中,您可能希望处理一些事情,例如互联网连接比仅让整个程序死亡更优雅,但在这种情况下,他们只是想写一个简短的例子。
答案 1 :(得分:1)
抛出异常意味着如果代码中的任何一点都存在异常(例如,如果写入文件时出现问题,则会产生IOException),那么这将被传递给上面的方法。但是,在这种情况下,上面没有方法,所以如果抛出异常,程序将崩溃并将异常中的文本输出到控制台。
如果您希望程序继续,也可以捕获例外:
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
} catch (Exception e) {
e.printStackTract();
}
有关Java异常的更多信息,请访问here