.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";//В предыдущем проекте тут выдавалась ошибка без явных причин
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д