.NET 4.x Область видимости локальных переменных в catch - C#

Узнай цену своей работы

Формулировка задачи:

Вот упрощённый пример:
Листинг программы
  1. public static void fA(){
  2. reClError tResult=new reClError(true);//Своя структура
  3. tResult.rErrorTextList[0]="Текст";//Видит переменную tResult
  4. try{
  5. tResult.rErrorTextList[0]="Текст";//Видит переменную tResult в try
  6. }catch(System.Exception ex){
  7. tResult.rErrorTextList[0]="Текст";//НЕ видит переменную tResult в catch
  8. }
  9. }
Почему в catch переменная tResult не видна? Как решить проблему с областью видимости? Выдаёт ошибку только в последнем варианте: Ошибка 13) Невозможно использовать локальную переменную "tResult" до ее объявления

Решение задачи: «.NET 4.x Область видимости локальных переменных в catch»

textual
Листинг программы
  1. namespace group1{
  2.     public struct myStruct{
  3.         public string Pole;
  4.     }
  5.     class MyClass{
  6.         public void fFun1(){
  7.             int R1;
  8.             try{
  9.                 R1 = 4;//видимая переменная, можно присвоить
  10.             }
  11.             catch (System.Exception ex){
  12.                 R1 = 5;//видимая переменная, можно присвоить
  13.             }
  14.         }
  15.         public void fFun2(){
  16.             myStruct pG = new myStruct();
  17.             try{
  18.                 pG.Pole = "1";//видимая переменная, можно присвоить
  19.             }
  20.             catch (System.Exception ex){
  21.                 pG.Pole = "2";//В предыдущем проекте тут выдавалась ошибка без явных причин
  22.             }
  23.         }
  24.     }
  25. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы