java ---异常处理(2)
3,将异常抛给调用者,让调用者去处理异常。throws(不建议这种处理方式)
案例:
class Father
{
privateSon son= null;
publicFather()
{
son = new Son();
}
publicvoid test1()
{
System.out.println("1");
son.test2();
}
}
class Son
{
publicvoidtest2()
{
FileReader fr = new FileReader("d:\\dd.text");
}
}
从这个程序来看,Son中的方法显然是打不开这个文件的,所以此时,将这个异常抛出,由调用者来,如果是父亲调用,那么就是父亲类解决问题,如果父亲不解决,那么就是java虚拟机处理这个问题,但是只是报错,不会说错误在哪里。
父亲解决方案
class Father
{
privateSon son= null;
publicFather()
{
son = new Son();
}
publicvoid test1()
{
System.out.println("1");
try{
son.test2();
} catch(Exception e){
System.out.println("父亲处理");
e.printStackTrace();
}
}
}
class Son
{
publicvoidtest2() throwsException
{
FileReader fr = new FileReader("d:\\dd.text");
}
}