首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在异常中处理作用域

如何在异常中处理作用域
EN

Stack Overflow用户
提问于 2010-09-13 17:30:04
回答 1查看 47关注 0票数 2

异常期间如何处理变量的作用域?我想这将是特定的语言,任何特定语言的答案都是非常感谢的。至少可能是大的?C++, python, Java。这就是我的意思:

python

代码语言:javascript
复制
        try:
            for k, v in map.iteritems():
                cnf.conf.set( section, k, v )
            for i, j in map2.iteritems():
                dosomethingelse()
                for m in range(10):
                    morestuff()
        except SpecificError:
            vars = (k, v, i, j, m)
        finally:
            vars in scope #?

或者更复杂的东西,比如嵌套块:

代码语言:javascript
复制
    try:
        try:
            for k, v in map.iteritems():
                cnf.conf.set( section, k, v )
            for i, j in map2.iteritems():
                dosomethingelse()
                for m in range(10):
                    morestuff()
        except SpecificError:
            vars = (k, v, i, j, m)
    except:
        vars in scope #?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-13 17:41:04

在java中,我相信您不能这样做:

代码语言:javascript
复制
try {
 String s = "Hello, finally!";
 ...
}
finally {
 System.out.println(s);
}

你必须这样做:

代码语言:javascript
复制
String s = null;

try {
 s = "Hello, finally!";
 ...
}
finally {
 System.out.println(s);
}

换句话说,变量的作用域仅限于定义它的块。

HTH

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3702867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档