.NET 4.x Область видимости локальных переменных в catch - C#
Формулировка задачи:
Вот упрощённый пример:
Почему в catch переменная tResult не видна?
Как решить проблему с областью видимости?
Выдаёт ошибку только в последнем варианте:
Ошибка 13) Невозможно использовать локальную переменную "tResult" до ее объявления
public static void fA(){
reClError tResult=new reClError(true);//Своя структура
tResult.rErrorTextList[0]="Текст";//Видит переменную tResult
try{
tResult.rErrorTextList[0]="Текст";//Видит переменную tResult в try
}catch(System.Exception ex){
tResult.rErrorTextList[0]="Текст";//НЕ видит переменную tResult в catch
}
}Решение задачи: «.NET 4.x Область видимости локальных переменных в catch»
textual
Листинг программы
namespace group1{
public struct myStruct{
public string Pole;
}
class MyClass{
public void fFun1(){
int R1;
try{
R1 = 4;//видимая переменная, можно присвоить
}
catch (System.Exception ex){
R1 = 5;//видимая переменная, можно присвоить
}
}
public void fFun2(){
myStruct pG = new myStruct();
try{
pG.Pole = "1";//видимая переменная, можно присвоить
}
catch (System.Exception ex){
pG.Pole = "2";//В предыдущем проекте тут выдавалась ошибка без явных причин
}
}
}
}