| 

.NET C# Java Javascript Exception

4
Ich habe ein Problem zur bekannten System.NullReferenceException. Der Code sieht wie folgt aus:

void Methode(int argument)
{
if(!Validierungsbedingung(argument))
throw GetException(); //*1*
}

InvalidOperationException GetException()
{
//...
}

Die Frage ist jetzt, warum ich in Zeile *1* eine NullReferenceException bekomme statt einer InvalidOperationException! Der Grund warum ich nicht direkt die Exception inline werfe, ist dass diese in einem komplizierten Verfahren in GetException erstellt wird. In Zeile *1* kann jedenfalls nichts null sein, weil kein Objekt da ist.

Ich verwende .NET/C#. Eigentlich dachte ich, dass ich Exception Handling verstanden hätte ;-)

Die Fehlermeldung ist: "System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt"
News:
02.05.2011
Exception 43 1 4
3 Antworten
7
Kann es sein, dass in GetException() ein Fehler passiert, und deshalb GetException() mit null zurückkommt?
02.05.2011
KN 1,7k 1 8
Das wars, danke.
Exception 02.05.2011
7
Hi,
wie es aussieht, fängst du innerhalb von GetException keine NullReferenceException.
Dann wirft dein Programmcode beim Ausführen von GetException genau diese nicht gefangene NullReferenceException.
Das bedeutet: GetException wirft selbst eine Exception.
Liege ich richtig?

Viele Grüße

Ralf
02.05.2011
ralf.hientzsch 637 1 7
1
Ein Blick ins StackTrace wird dir die genaue Ursache des Fehlers anzeigen.
Und dann wird sich sicherlich herausstellen, das der Fehler innerhalb von GetException auftritt (wie KN und ralf.hientzsch schon festgestellt haben)
04.05.2011
Christian M. Müller 251 1 7

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH