throw和throws都是抛出异常,两者的区别如下:
- 使用位置不同:throws使用在方法上,后面跟的是异常类,可以是多个异常类;throw使用在方法中,后面跟的是异常对象。
- 使用方法不同:throws可以单独使用,在方法上声明即可;throw需要配合try-catch-finally语句配套使用,或者与throws配套使用。
例如:
import java.io.IOException;
import java.sql.SQLException;
public class HelloWorld {
public static void main(String args[]) throws SQLException, IOException {
//这里调用方法test1() ,且申明了多个异常
HelloWorld helloWorld = new HelloWorld();
helloWorld.test1();
//这里需要配合 try catch finally 使用
try {
throw new Exception("Test throw exception");
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public void test1() throws IOException, SQLException{
System.out.println("print test1 method");
}
}