Java - JavaSE - 异常
异常
throw 和 throws 的区别
throw new RuntimeException();
语句之后的代码无法再运行,此时 Eclipse 会显示 Unreachable code
错误。
在 FileInputStream 的构造方法中可以看到,该方法抛出了一个异常,可以有两种处理方式:一是在调用该方法的另一个方法继续 throws FileNotFoundException,二是使用 try-catch 语句处理异常。
/*FileInputStream.java*/
public FileInputStream(String name) throws FileNotFoundException {
this(name != null ? new File(name) : null);
}
javase.reflect.carcar.Test.java*/
public static void main(String[] args) throws FileNotFoundException {
new FileInputStream("d:/test");
}
public static void main(String[] args) {
try {
new FileInputStream("d:/test");
} catch(FileNotFoundException e){
e.printStackTrace();
}
}
public class javase.reflect.car.Test {
public static void main(String[] args) throws RuntimeException,Exception {
throw new RuntimeException();
}
}
综合:可以看到 throw 之后跟的是一个异常对象,而 throws 之后跟的是一个或多个异常类名。