throws的作用是声明抛出异常,在方法声明的位置上使用throws关键字向上抛出异常。例如下面程序演示了一般性异常,编译无法通过,需要对异常进行处理
import java.io.FileInputStream;
public classExceptionTest{
publicstaticvoidmain(String[] args){
//这句代码的意思是创建文件输入流,读取文件,遇到不认识的类可以查看API
FileInputStream fis = new FileInputStream("d:/文本文档.txt");
}
}
使用throws将异常抛出:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class ExceotionTest01 {
public static void main(String[] args) throws FileNotFoundException {
FileInputStream fis = new FileInputStream("d:/文本文档.txt");
}
}
深入throws
其实使用throws抛出异常并不是真正的去处理异常,而是抛给其调用者去处理。
比如你在工作中遇到问题了,交给了你的领导去解决,领导如果也不想解决就交给他的领导去解决。
在上面程序里面,我们抛出了异常,最后是交给了jvm解决,jvm的解决方式就是将错误信息打印至控制台,然后关闭程序。
例如下面示例:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
/*
* 使用throws关键字并不是真正的处理异常,而是交给其调用者去处理
* 并不是说使用throws 就不好,而是使用throws将问题暴露出来,如何处理,由其调用者处理。
*
*/
public class ExceptionTest02 {
public static void main(String[] args) throws FileNotFoundException {
m1();
}
public static void m1() throws FileNotFoundException {
m2();
}
public static void m2() throws FileNotFoundException {
m3();
}
public static void m3() throws FileNotFoundException{
FileInputStream fis = new FileInputStream("d:/文本文档.text");
}
}
网友评论