1

例外が同じクラスからのものである場合、それがログイン情報例外であるか、接続が失われた例外であるかを確認する方法は?

private bool checkFileExists(string absoluteRemoteLocation)
{
      try
      {
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(absoluteRemoteLocation);
            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Timeout = timeOut;
            request.Credentials = new NetworkCredential(this.username, this.password);
            request.GetResponse();
            return true;
      }
      catch(Exception e) //i want to check here
      {
            var g = e.ToString();
            return false;
      }
}
4

4 に答える 4

1

次のように別のcatchブロックを使用します。

catch (System.TimeoutException e)
{
    var g = e.ToString();
    return false;
}

catch (System.Net.WebException e)
{
    var g = e.ToString();
    return false;
}
于 2015-09-18T18:21:20.883 に答える
0

isC# のキーワードを使用します。

<!-- language: C# -->
catch (Exception e) {
    if (e is LoginInfoException) // do something
    else if (e is ConnectionLostException) // do something else
}

参考までに、このリンクを確認してください。

于 2015-09-18T18:37:09.103 に答える