零基础小白学Java之用throws处理异常
程序员文章站
2022-05-05 08:57:47
...
使用throws处理异常不是真正的处理异常而是推卸责任
// 谁调用就把异常抛给谁
//m1方法如果出现了异常,因为采用是上抛,给了jvm,jvm遇到这个异常就会退出程序,下面的代码就不会执行!
//而如果你想正真处理问题,则需要try…catch
public class ExceptionText04 {
public static void main(String[] args) {
m1();
}
public static void m1()throws FileNotFoundException{
m2();
}
public static void m2()throws FileNotFoundException{
m3();
}
//FileInputStream构造方法声明位置上使用throws(向上抛)
public static void m3() throws FileNotFoundException {
new FileInputStream("c:/ab.txt");
}
}
程序运行本质:
在程序运行过程中发生了FileNotFoundException类型的异常,JVM为我们创建了一个FileNotFoundException类型的对象,该对象中携带了一下信息,JVM负责将该对象的信息打印到控制台。并且JVM停掉了程序的运行!
Exception in thread “main” java.io.FileNotFoundException: c:\ab.txt (系统找不到指定的文件。)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at ExceptionText04.m3(ExceptionText04.java:18)
at ExceptionText04.m2(ExceptionText04.java:15)
at ExceptionText04.m1(ExceptionText04.java:12)
at ExceptionText04.main(ExceptionText04.java:9)