C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| class MyXML { private XmlDocument m_xml;
public MyXML(string filename) { try { m_xml = new XmlDocument(); m_xml.Load(filename); } catch { } } }
class App { static void Main() { MyXML blubb = new MyXML("c:\test.xml"); } } |
So, auch wenn die zu ladende XML-Datei gar nicht existiert und m_xml.Load eine Exception wirft, liefert der Konstruktor nicht null zurück.
Ich denke aber mal, es ist verständlich, dass mir die ganze Instanz nichts bringt, wenn nichtmal die XML-Datei geladen werden kann.
Ich könnte mir natürlich eine Membervariable in MyXML anlegen, z.B. m_XmlLoaded und diese im Catch des Konstruktors auf false setzen und später abfragen, aber das ist ein bisschen umständlich... einfacher wäre es, wenn ich gar keine Instanz kriege, sondern der Konstruktor gleich null zurückliefern würde.
Ich habe aber keinen Schimmer, wie ich das machen könnte. Geht das überhaupt?