当前位置: 代码迷 >> Java相关 >> 在使用try-catch是报错的问题求大神解答
  详细解决方案

在使用try-catch是报错的问题求大神解答

热度:427   发布时间:2013-07-13 17:06:31.0
在使用try-catch是报错的问题求大神解答
问题是这样的比如我在使用IO中的类时如果我这样写
try{
    InputStream input= new FileInputStream(file1)
    OutputStream output = new FileOutputStream(file2);
}
catch(Exception e){
    e.printStackTrace();
}
然后调用input.read()和output.write()时eclipse会报错提示input cannot be resolved和output cannot be resolved;
但是这样写
InputStream inputStream = null;
OutputStream outputStream = null;
        
try{
    inputStream = new FileInputStream(file1);
    outputStream = new FileOutputStream(file2);
}
catch(Exception e){
    e.printStackTrace();
}
就没有问题了,我的英语不太好看英文提示比较吃力,所以求大神解释一下问题出在什么地方



[ 本帖最后由 wahn1992 于 2013-7-13 17:07 编辑 ]
搜索更多相关的解决方案: null  cannot  

----------------解决方案--------------------------------------------------------
你的第一种方式,变量都被定义到try代码块里了,外面怎么能访问的到呢?
----------------解决方案--------------------------------------------------------
貌似没有变量初始化吧!
----------------解决方案--------------------------------------------------------
回复 3楼 bibikao19860
是啊。
----------------解决方案--------------------------------------------------------
你定义到try里面的变量就跟第一在if里面的变量一样,有可能访问不到,所以要先初始化


----------------解决方案--------------------------------------------------------
建议楼主重新复习一下,变量的生命周期和作用域的相关知识。
----------------解决方案--------------------------------------------------------
额,难道楼主不是在TRY...CATCH块中调用的read/wirte吗?....
----------------解决方案--------------------------------------------------------
可以结贴了
----------------解决方案--------------------------------------------------------