try {
return new FileInputStream("xxx.txt");//语句1
}catch (Exception e) {
e.pri......;//语句2
}
return null;//语句3
在这段代码中,用断点调试,发现,语句1和语句3都被执行了,而语句2没有被执行
而最后确实返回了一个null;环境:android
已加权限write_exten.....stro....

解决方案 »

  1.   

    语句3执行了,说明语句2肯定执行了。相信科学,在加log!
      

  2.   

    会不会是new 错误了.所以return null;
    或者说编译器是会走reutrn null.但不是执行return null;
      

  3.   

    语句1是必执行的
    语句2是在语句1出错的时候执行
    语句3并没有执行,只是在单步调试感觉在执行,实际没有执行,你可以打印log验证
      

  4.   

    不知如何打印log?有什么正规方法吗?,还是指的用system.out......
      

  5.   

    log.d或是sysout.out都行,只是想知道纠竟运行了哪一条线路
    在三个地方面前加上输出,看console你就明白了
    你第一个地方如果返回个null,你就开心了
      

  6.   

    请参考 http://blog.csdn.net/zollty/article/details/7884670return 不是一个method的结束
    return 在 try catch 里面 当method 最后面还有return 是不起作用的
    会当成return try catch 到这个block
      

  7.   

    说明你java没学好啊,回去好好看看try catch是怎么用的