我们经常在写java函数时常遇到,一些this method must return a result of type...问题,同时也包括返回类型是object时,还会出现Default constructor cannot handle exception type XXXException thrown by implicit super constructor.XXX具体是什么类型的异常。针对此类问题,我来分享一下心得。
public FileInputStream test2(){
FileInputStream fi=null;
try {
return fi=new FileInputStream("C://a.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
已上代码会报this method must return a result of type...问题。
这个错误是编译时错误,这个错误不难理解。如果return处现了异常,程序就中断了就不会执行。此时函数就没有了返回值。因此出现了this method must return a result of type...问题。那么,我们怎么解决这样的异常问题呢?接下来看看我处理该问题的方法。
我们将捕捉到的异常处进行return null;返回值设置,程序出现异常时,catch块中的程序也会被执行。
test3()的方法,是将异常向上抛出,即使程序出现异常也不会中断,因此不会出现编译时错误,但是程序如果出现错误,我们需要一些语句来进行处理。