2012-04-26 2 views
0

Хорошо, вот код, над которым я работаю. Я пытаюсь получить исключение, так что, если у них не будет чего-то в окне, чтобы сохранить его, он всплывет и не позволит им двигаться дальше, пока не появится что-то там. Теперь я знаю, что когда я запускаю свою программу и нажмите на кнопку сохранить его говорит мне этотКак вводить и исключать

ArgumentException был необработанное

что это значит. Я знаю, он говорит, что пустой путь не является законным. Но путь - это то, что хочет пользователь. Я общался с этим, и я пытался выяснить, что делать, но все же смущен. Так что лучший способ попробовать это сделать. Должен ли я сделать класс для его работы или я могу просто добавить в свой код. Я получил другую часть с попыткой и уловкой, но я не могу заставить ее работать над этим, или, может быть, я помещаю ее в неправильное место.

private void Save_Click(object sender, EventArgs e) 
{ 
    string path = txtFilePath.Text;  

    if (!File.Exists(path)) 
    { 
     using (StreamWriter sw = File.CreateText(path))   
     { 
      foreach (string lines in employeeList.Items) 
       sw.WriteLine(lines); 
     } 
     else 
     { 
      using (StreamWriter sw = File.AppendText(path))<--This is 
where is says Arugment exception was unhandled.    
      {  
       foreach (var item in employeeList.Items) 
        sw.WriteLine(item.ToString()); 
      } 
     } 
    } 
} 
+0

показать свой путь к файлу – Mediator

+0

почему нет, если (File.Exists (путь)) вместо того, чтобы, если (! File.Exists (путь)) ? – Hari

ответ

0

Wrap код в попытке поймать заявление и в улове вы можете создать сообщение пользователю (возможно предупреждение коробки JavaScript)

псевдокоде ...

try 
{ 
    current code 
} 
catch (exception e) 
{ 
    error message to user 
} 
0

Применение

private void Save_Click(object sender, EventArgs e) 
{ 
    if (!string.IsNullorEmpty(txtFilePath.Text)) 
    { 
    MessageBox.Show("Please enter new path"); 
    txtFilePath.Focus(); 
    return; 
    } 
    else 
    { 
    string path = txtFilePath.Text; 

     if (!File.Exists(path)) 
     { 
      ..... Your rest code 
+0

Ну, когда вы идете по этому маршруту, он выдает ошибку вверху части IsNullorEmpty. – shan

+0

@Nikhil Agrawal: вам не хватает скобки на вашем другом ... –

+0

@shan: Спасибо, Бадди. Исправлено. –

0

Это означает, что:

путь строку нулевой длины, содержит только пустое пространство, или содержит один или несколько недопустимых символов, как это определено InvalidPathChars ,

0
if(path == "") 
{ 
    // Alert user or throw Exception 
} 
0

Я знаю, что это старый пост, но я решил, что я все равно отвечу.

Все, что связано с кодом выше, заключается в том, что есть} в неправильном месте.

If (not file exists) 
{ 

    else 
    { 
    } 
} 

Остальное должно быть немного ниже.

if(not file exists) 
{ 
} 
else 
{ 
} 
Смежные вопросы