解答:和try catch没有关系,只要是块,就符合这个规则。包括if for while switch等。 一对花括号代表着一个作用域,当在try的花括号里面定义变量时,该变量只能在try{}中才有效,可以理解为该变量只属于try,finall{}里是找不到该变量的。 如果在try{}catch{}finally{}的外面定义变量,可以理解为是属于他们共有的。