Kann die während der verzögerten Initialisierung ausgelöste Ausnahme nicht abfangen (C # .NET)

9

Ich versuche, ein teures Objekt über die Lazy-Klasse von .NET zu initialisieren, das aufgrund einer Ausnahme fehlschlagen kann. Die Instanz der faulen Klasse wird zwischengespeichert, da es bei einem nachfolgenden Versuch möglich ist, dass die Initialisierung erfolgreich ausgeführt werden kann. Ich erstelle so die Instanz wie folgt:

%Vor%

Laut der Dokumentation von .NET mit PublicationOnly wird die Ausnahme nicht zwischengespeichert und somit kann versucht werden, den Wert neu zu initialisieren. Ich bin auf das Problem gestoßen, dass die Ausnahme nicht erwischt werden kann. Jetzt ist es ziemlich einfach, meine eigene faule Klasse zu schreiben, aber ich würde gerne herausfinden, ob ich die Lazy-Klasse von .NET falsch benutze oder ob sie ein Bug ist?

Der folgende (vereinfachte) Code reproduziert das Problem:

%Vor%     
Rehan 05.05.2011, 13:13
quelle

1 Antwort

5

Nun, es sieht so aus, als müsste es funktionieren. Wenn Sie sagen, dass es die Ausnahme auslöst, aber nicht abfängt, ... laufen Sie in Visual Studio und haben ArgumentException im Debug & gt; Exceptions-Menü, um es zu sagen, immer dort zu brechen?

    
Tesserex 05.05.2011, 13:17
quelle

Tags und Links