Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для Gorezcaid
15 / 15 / 0
Регистрация: 09.08.2010
Сообщений: 90
.NET 4.x

Область видимости локальных переменных в catch

11.02.2015, 16:17. Показов 1233. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот упрощённый пример:
C#
1
2
3
4
5
6
7
8
9
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
   }
}
Почему в catch переменная tResult не видна?
Как решить проблему с областью видимости?

Выдаёт ошибку только в последнем варианте:
Ошибка 13) Невозможно использовать локальную переменную "tResult" до ее объявления
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2015, 16:17
Ответы с готовыми решениями:

Область видимости в try.. catch ..
Добрый день. Я новичок в с#. Пытаюсь решить такую задачу. 1. Объявляю переменные. 2. Создаю HttpWebRequest. 3. Вызываю...

Область видимости некоторых переменных
Доброго времени, форумчане! Подскажите, пожалуйста, по следующей тематике (visual studio 2010, monogame, хотя вопрос чисто сишарпный): ...

Область видимости переменных и массива
Вот первый код,вопрос в том:почему у массива который находится в static void Main() изменяются значения элементов в public void...

3
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10425 / 5155 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
11.02.2015, 16:55
Цитата Сообщение от Gorezcaid Посмотреть сообщение
Ошибка 13
А вы сначала остальные 12 ошибок исправьте.
1
20 / 19 / 9
Регистрация: 06.02.2015
Сообщений: 382
11.02.2015, 17:00
1. true-практика - строй ошибки по их номеру и исправляй по порядку!!
2. С вероятностью 99% эта переменная не видна просто из за других 12 ошибок! просто компилятору ты не нравишься))
1
 Аватар для Gorezcaid
15 / 15 / 0
Регистрация: 09.08.2010
Сообщений: 90
11.02.2015, 17:16  [ТС]
Не пойму что случилось, пол часа на ошибку убил.
При тестировании видел, что с переменной типа int не было ошибок.
Ругалось именно на структурный тип данных.
Создал новый проект, а там работает. Очень странно.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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";//В предыдущем проекте тут выдавалась ошибка без явных причин
            }
        }
    }
}

Вернулся в свой проект, и оно каким то чудом заработало...

Всем спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2015, 17:16
Помогаю со студенческими работами здесь

Область видимости переменных
Подскажите Есть глобальный массив объктов, функция которая заполняет свойства и колбэк функция работающая с этими свойствами. var...

область видимости переменных
Такая значит интересная задачка: В проекте было две формы и модуль. В модуле описан кучерявый Паблик-массив. Работать с массивом можно из...

Область видимости переменных
Предположим у меня есть несколько форм. С одной формы я открываю другую. Так вот мне нужно получить доступ из дочерней формы к элементам...

Область видимости переменных
Здравствуйте. Столкнулся со следующей проблемой: есть файл main.cpp: int a, b; #include "class.h" int main() {...

Область видимости переменных в Qt
Проблема такая: Есть глобальная переменная: объект класса, заданная как внешняя переменная ко всей программе. Не могу добиться видимости ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru