В C # и Java (а также, возможно, в других языках) переменные, объявленные в блоке «try», не попадают в область видимости соответствующих блоков «catch» или «finally». Например, следующий код не компилируется: try { String s = "test"; // (more code...) } catch { Console.Out.WriteLine(s); //Java...