Bonjour,
Étant débutant en Csharp, je me permets de vous solliciter pour profiter vos lumières.
Je développe une classe permettant d’instancier des objets capables de calculer la TVA. Mon code est ci-dessous.
Ma question est la suivante : j’ai défini une méthode « GetMontant() » qui calcule et retourne une valeur de type double égale au montant de la TVA. Le taux de TVA utilisé est choisi au moyen d’un paramètre de type string passé à la méthode. Je voudrais faire en sorte de lancer une exception si le string passé à la méthode est inconnu. Je sais comment lancer des exceptions, ce n’est pas la question, mais ce qui me dérange c’est d'être obligé de faire retourner quelque chose (et, plus précisément, de type double) à ma méthode. En l’état je lui fais donc retourner 0D si le paramètre est inconnu. N’existe-t-il un moyen plus satisfaisant pour réaliser la tâche souhaitée ? Ce que je voudrais, c’est qu’une exception soit lancée si le taux est inconnu et qu’aucun montant de TVA ne soit retourné.
Merci d’avance pour votre aide.
Voici le code ma classe :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62 // Classe de calcul de la Taxe sur la valeur ajoutée (TVA) version 1.0. // Code général des impôts (CGI). // Assujettissement : CGI art. 256, 256 A. class Tva { // I- Constantes, champs et propriétés. // Taux normal de 20 % : CGI art. 278. private const double tauxNormal = 0.20D; public double TauxNormal { get { return tauxNormal; } } // Taux réduit de 10 % : CGI art. 278 bis, 278 quater, 278 sexies A, 278 septies, 279, 279-0 bis, 279-0 bis A. private const double tauxReduit10 = 0.10D; public double TauxReduit10 { get { return tauxReduit10; } } // Taux réduit de 5,5 % : CGI art. 278-0 bis, 278-0 bis A, 278 sexies. private const double tauxReduit55 = 0.055D; public double TauxReduit55 { get { return tauxReduit55; } } // Prix HT base de la TVA. private double prixHT; public double PrixHT { get { return this.prixHT; } set { this.prixHT = value; } } // Instantiacion avec le prix HT spécifié ou à défaut avec un prix HT égal à 0. public Tva(double PrixHT = 0D) { this.prixHT = PrixHT; } // II- Méthode. // Retourne le montant de la TVA en fonction du taux choisi ou à défaut au taux normal. public double GetMontant(string Taux = "TAUX_NORMAL") { if (Taux == "TAUX_NORMAL") return this.prixHT * tauxNormal; else if (Taux == "TAUX_REDUIT10") return this.prixHT * tauxReduit10; else if (Taux == "TAUX_REDUIT55") return this.prixHT * tauxReduit55; else { CustomException tauxInconnu = new CustomException("Le taux de TVA demandé n'existe pas ou n'est pas supporté."); throw tauxInconnu; return 0D; } } }
Partager