Bonjour à tous =)
J'ai un petit soucis, quand à la gestion des exceptions. Je dois faire une classe pour les gérer, mais je ne vois pas le fonctionnement au niveau de mes méthodes, comment ces exceptions perso vont être catch par exemple..
J'ai fais une classe sur un modèle que j'avais vu et j'en ai rajouter une en dessous pour les fichier inexistant :
et j'avais essayé d'implémenter ça a une de mes méthodes, en lui passant un fichier non présent sur le FTP, pour qu'il lève une exception du type, FileNotFound :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 public class FtpException : ApplicationException { public FtpException(string message, Exception innerException) : base("FTP :" + message, innerException) { } public FtpException(string message) : base("FTP :" + message) { } } public class FileNotFound : FtpException { public FileNotFound(string fileName) : base("Fichier" + fileName + "inéxistant") { } public FileNotFound(string fileName, Exception innerException) : base("Fichier" + fileName + "inéxistant", innerException) { } }
en débugant, il passe directement dans le deuxième catch.. Et je dois dire que je ne vois pas du tout comment faire.. quelqu'un peut t'il m'aiguiller ou m'aider pour comprendre le fonctionnement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public bool FtpDeleteFile(string fileNamePath) { try { Uri srvUri = new Uri("ftp://" + this.hostname + "/" + fileNamePath); FtpWebRequest request = initRequest(srvUri); request.Method = WebRequestMethods.Ftp.DeleteFile; request.GetResponse().Close(); } catch (FileNotFound) { throw new FileNotFound(Path.GetFileName(fileNamePath)); } catch (Exception) { return false; } return true; }
Partager