java try中的变量_在Java主函数中,为什么try中的变量不能在try之外被调用

在Java主函数中,为什么try中的变量不能在try之外被调用

关注:75  答案:4  mip版

解决时间 2021-02-05 22:35

e6cb1a03ad541b3098697807b7bf1798.png

提问者阳光在浪尖跳动

2021-02-05 14:12

public static void main(String[] args){

File file1 = new File("H:\\输入的XML文件.xml");

DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

try{

DocumentBuilder db=dbf.newDocumentBuilder(); Document doc=db.parse(file1);

Element root=doc.getDocumentElement();

}catch(SAXException se){

//解析过程错误

Exception e=se;

if(se.getException()!=null)

e=se.getException();

e.printStackTrace();

}catch(ParserConfigurationException pe){

//解析器设定错误

pe.printStackTrace();

}catch(IOException ie){

//文件处理错误

ie.printStackTrace();

}

我现在要定义一个String变量root1 : root1=root.getTagName();

但是编译器提示root没有定义啊。我已经在try中定义了root,但是为什么不好使,该怎么办。我对Java不是很熟,知道的解释一下,谢谢了

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家落日海湾

2021-02-05 15:42

1、在try中声明的变量,相当于一个局部变量,其作用域范围,仅限于try中

2、如果在try之前声明的变量,则可以在try中使用

建议:

int num = 0;

try {

System.out.println(num); // 这里是可以访问到的

int num1 = 5;

} catch(Exception e) {

}

System.out.println(num1); // 这里是访问不到的,因为作用域的限制,num1只能在try里面进行访问。

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼回憶沒有意義

2021-02-05 16:51

try{

捕捉异常

}catch(){

异常执行块

}finally{

不管是否有异常,都要执行的语句块

}

try{

}catch(exception ex){

}

try{

}

主要有这三种使用方法

e6cb1a03ad541b3098697807b7bf1798.png

2楼吃貨一枚

2021-02-05 16:46

try 块是一个小的作用域,在try块中定义的变量都是局部变量,而局部变量只能在局部域中使用,出了这个域则无法调用。

如果你想要在try块的内外均使用同一个变量,需要将变量定义为全局变量,在try块外声明即可

e6cb1a03ad541b3098697807b7bf1798.png

3楼会有一股神秘感

2021-02-05 16:37

改成这样:public static void main(String[] args){

File file1 = new File("H:\\输入的XML文件.xml");

DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

DocumentBuilder db = null;

Document doc = null;

try{

db =dbf.newDocumentBuilder();

doc =db.parse(file1);

。。。。。。。。

}

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值