J'ai quelques endroits dans mon code où il lance une nouvelle exception System.Xml.XmlException appropriée. Je pouvais faireSi XmlException.SourceUri est en lecture seule, à quoi sert-il?
throw new XmlException("Your XML sucks go fix it then try again.");
Mais je pense qu'il est préférable de profiter autant que possible des membres particuliers à la classe d'exception (sinon ya peut tout aussi bien jeter un plaine ol » Exception
à chaque fois). SourceUri et LineNumber seraient utiles, mais ils seulement ont get
méthodes, il n'y a aucun moyen de leur attribuer une valeur! Il n'y a que 3 surcharges constructeurs et aucun d'eux n'a de paramètres pour ces membres non plus; Je peux seulement initialiser Message
, rien d'autre.
Il doit y avoir certains façon de remplir ces données membres avec des valeurs, sinon pourquoi XmlException s'en soucie-t-il? Je suppose que je pourrais faire une nouvelle classe qui hérite de XmlException et écrire un nouveau constructeur qui initialise SourceUri etc. mais encore, il doit y avoir un moyen d'utiliser simplement XmlException. Droite?
OK, un constructeur interne a du sens dans ce cas. Bien sûr, je pourrais hériter de XmlException, alors j'aurais accès aux membres 'protected'. –