Exception 异常中如何处理作用域

Exception 异常中如何处理作用域,exception,exception-handling,scope,Exception,Exception Handling,Scope,异常期间如何处理变量的作用域?我想这将是特定语言的,任何特定语言的答案都非常感谢。至少可能是大的C++、python、Java。这就是我的意思: python try: for k, v in map.iteritems(): cnf.conf.set( section, k, v ) for i, j in map2.iteritems(): dosomething

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

python


        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 #?
或者更复杂的东西,比如嵌套块:


    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 #?

在java中,我相信您无法做到以下几点:

try {
 String s = "Hello, finally!";
 ...
}
finally {
 System.out.println(s);
}
你必须改为:

String s = null;

try {
 s = "Hello, finally!";
 ...
}
finally {
 System.out.println(s);
}
换句话说,变量的范围仅限于定义它的块