Java

异常

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 之后跟的是一个或多个异常类名

原文地址:https://www.cnblogs.com/chenxianbin/p/11878468.html