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());
            }
        }
    }
}
4

6 に答える 6

0

この意味は:

path は、長さ 0 の文字列であるか、空白のみが含まれているか、または InvalidPathChars で定義されている 1 つ以上の無効な文字が含まれています。

于 2012-04-26T12:18:38.337 に答える
0
if(path == "")
{
    // Alert user or throw Exception
}
于 2012-04-26T12:19:39.197 に答える
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
于 2012-04-26T12:18:10.833 に答える
0

あなたの「パス」は正しくありません。

ArgumentException   
path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

http://msdn.microsoft.com/ru-ru/library/system.io.path.invalidpathchars.aspx

于 2012-04-26T12:21:19.217 に答える
0

コードを try catch ステートメントでラップし、catch でユーザーへのメッセージを生成できます (おそらく JavaScript アラート ボックス)。

擬似コード...

try
{
    current code
}
catch (exception e)
{
    error message to user
}
于 2012-04-26T12:21:23.320 に答える
0

これは古い投稿であることは知っていますが、とにかく答えると思いました。

上記のコードで間違っているのは、間違った場所に } があることだけです。

If (not file exists)
{

   else 
   {
   }
}

それ以外はもう少し下にあるはずです。

if(not file exists)
{
}
else
{
}
于 2012-05-31T09:55:23.843 に答える