J'essaie de gérer deux WebException
différents correctement.Gestion de deux WebException correctement
Fondamentalement, ils sont traités après avoir appelé WebClient.DownloadFile(string address, string fileName)
AFAIK, jusqu'à présent, il y a deux je dois gérer, les deux WebException
« s:
- Le nom distant n'a pas pu être résolu (c.-à-Pas de connexion réseau pour accéder au serveur pour télécharger le fichier)
- (404) fichier non nound (le fichier n'existe pas sur le serveur)
Il y en a peut-être plus mais c'est ce que j'ai trouvé le plus important jusqu'ici.
Alors, comment dois-je gérer cela correctement, car ils sont à la fois WebException
, mais je veux gérer chaque cas ci-dessus différemment.
C'est ce que j'ai jusqu'à présent:
try
{
using (var client = new WebClient())
{
client.DownloadFile("...");
}
}
catch(InvalidOperationException ioEx)
{
if (ioEx is WebException)
{
if (ioEx.Message.Contains("404")
{
//handle 404
}
if (ioEx.Message.Contains("remote name could not")
{
//handle file doesn't exist
}
}
}
Comme vous pouvez le voir je vérifie le message pour voir quel type de WebException il est. Je suppose qu'il existe une façon meilleure ou plus précise de le faire?
Merci
Deviner la réponse revient à vérifier le statut de l'exception, comme dans l'utilisation de l'exception web à la place, '(si wEx.Status == WebExceptionStatus.Quelquechose) {// handle} (si wEx.Status == WebExceptionStatus.SomethingElse) {// gérer cela} ' – baron