Я работаю над небольшой программой ATM, и я застрял на проблеме StreamWritter. При загрузке моя программа должна использовать StreamReader для чтения 4 файлов .txt, расположенных в моем bin/debug. Затем пользователю предлагается либо внести, либо снять деньги с банковских счетов, расположенных в файлах .txt. Все отлично работает для StreamReader, который загружает все банковские счета при загрузке программы, и для StreamWriter, чтобы записывать изменения в файлы .txt, когда я добавляю/удаляю деньги. Моя проблема в том, что когда я закрываю программу, загрузка файлов работает нормально, но я больше не могу писать в файлы. Мой StreamWriter переходит прямо к части Catch и не может быть создан. Как это возможно, если он работал нормально при первом использовании. Вот код StreamReader:
public bool ReadSavingAccount()
{
string strLine;
string[] strArray;
char[] charArray = new char[] { ',' };
FileStream aFile;
StreamReader sr;
try
{
aFile = new FileStream("mySavingAccount.txt", FileMode.Open);
sr = new StreamReader(aFile);
strLine = sr.ReadLine();
while (strLine != null)
{
strArray = strLine.Split(charArray);
Savings monSave = new Savings(strArray[0], Convert.ToDouble(strArray[1]));
mySavingAccount.Add(monSave);
strLine = sr.ReadLine();
}
sr.Close();
aFile.Close();
}
catch
{
return false;
}
return true;
}
И код StreamWrite:
public bool WriteSavingAccount()
{
FileStream aFile;
StreamWriter sw;
string myString;
try
{
aFile = new FileStream("mySavingAccount.txt", FileMode.Create);
sw = new StreamWriter(aFile);
}
catch
{
return false;
}
foreach (Savings mySave in mySavingAccount)
{
myString = mySave.AccountNumber + "," + mySave.AccountBalance;
sw.WriteLine(myString);
}
sw.Close();
return true;
}
Есть идеи, в чем может быть проблема? Заранее спасибо и дайте мне знать, если вам нужны какие-либо другие части кода.
catch{return false;}
. Это полностью лишает вас возможности узнать, что было исключением. Просто полностью избавьтесь от try/catch. - person John Saunders   schedule 13.12.2011