Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 02:09   #1
I.C.E
Пользователь
 
Аватар для I.C.E
 
Регистрация: 05.09.2009
Сообщений: 17
По умолчанию Visual Studio 2008 Express Edition C# - не могу применить блок try catch к FileStream

Допустим если прописать код:
Код:
FileStream f;
try
{
f = new FileStream("1.txt", FileAccess.Open);
}
catch(FileNotFoundException)
{}

У меня высвечивается что f не инициализирована, а если прописать:
try
{
FileStream f = new FileStream("1.txt", FileAccess.Open);
}
catch(FileNotFoundException)
{}
То пишет что f не существует. В литературе описан способ №1 и вроде
как он должен работать, может у меня студия глюченая, или в 2008
уже какая-то другая система обработки исключений файловых потоков.
Подскажите пожалуйста кто знает!

Последний раз редактировалось MaTBeu; 14.12.2009 в 15:12.
I.C.E вне форума Ответить с цитированием
Старый 14.12.2009, 11:55   #2
ds.Dante
Старожил
 
Аватар для ds.Dante
 
Регистрация: 06.08.2009
Сообщений: 2,992
По умолчанию

Ошибка, наверное, возникает, когда ты обращаешься к f в блоке catch (в твоих примерах этого нет, и работают они без ошибок). Можно проинициализировать f значением null. Типа так:
Код:
FileStream f = null;
try
{
	f = new FileStream ("1.txt", FileMode.Open);
}
catch (Exception)
{
	if (f != null)
		f.Close ();
}
Только у меня вопрос, более опытным программистам C#: требуется ли вручную закрывать файл f, или сборщик мусора сам позаботится об этом?
ds.Dante вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компиляция в Visual C++ 2008 Express Edition MacTiger Visual C++ 16 26.10.2014 20:19
Проблемка в Microsoft Visual C++ 2008 Express Edition Vega89 Visual C++ 12 14.08.2009 15:05
Visual Studio 2009 Express Edition unicode Софт 4 26.06.2009 23:15
Visual C++ 2008 Express Edition Grisman Visual C++ 1 02.03.2009 20:19