Vorgang ist ungültig aufgrund auf den aktuellen Zustand des Objekts?
Ich bin Programmierung in C#, der code arbeitete vor etwa einer Woche, jedoch wirft er eine exception, und ich verstehe nicht, was falsch sein könnte mit ihm.
Var root = new CalculationNode(); -> Throw exception.
In der call-stack, das ist das einzige, was aufgelistet ist, ich habe gesagt, dass, könnte es sein, dass ich noch eine sauber aufzubauen, aber ich bin offen für alle Ideen oder Vorschläge.
Dank,
-Bill
Update:
Ausnahme Detail
System.InvalidOperationException wurde unhandled by user code
Message=Vorgang ist ungültig aufgrund auf den aktuellen Zustand des Objekts.
Quelle=Rechner.Logik
StackTrace:
bei der ~.- Rechner.Logik.MyBaseExpressionParser.Parse(String-expression) in ~\ - Source\ - Rechner.Logik\MyBaseExpressionParser.cs:Zeile 44
bei der ~.- Rechner.Logik.Tests.MyBaseCalculatorServiceTests.BasicMathDivision() in ~\Projekte\Tests\Calculator.Logik.Tests\MyBaseCalculatorServiceTests.cs:Zeile 60
InnerException:
CalculationNode code:
public sealed calss CalculationNode
{
public CalculationNode()
{
this.Left = null;
this.Right = null;
this.Element = new CalculationElement();
}
public CalculationNode Left {get;set;}
public CalculationNode Right {get;set;}
public CalculationElement Element {get; set;}
}
CalculationElement code:
public sealed class CalculationElement
{
public CalculationElement()
{
Value = string.Empty;
IsOperator = false;
}
public string Value {get; set}
public bool IsOperator {get; set}
}
CalculationNode
? Was ist die Ausnahme - stack-trace?InformationsquelleAutor | 2010-06-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
Calculator.Logic.MyBaseExpressionParser.Parse
Methode wirft eine exception in Zeile 44.Sollten Sie die Methode ansehen und herausfinden, was das problem ist.
InformationsquelleAutor SLaks
Erster Stelle zu sehen wäre in der Konstruktor-code der
CalculationNode
. Sie können einen Haltepunkt im Konstruktor, und Schritt durch den code und sehen, was ein problem Auftritt.Wenn Sie tun, jede Art von Protokollierung, die mit einem tool wie log4net, Sie sollten überprüfen Sie alle Protokolle, die Sie haben können.
Und wie schon erwähnt, es ist immer eine gute Idee, sich auf der stack-trace, um zu sehen, ob das wirft kein Licht.
InformationsquelleAutor dcp
Wenn Sie vor kurzem aktualisiert ein service pack, müssen Sie möglicherweise zu aktualisieren, ein Datenbank-Schema.
dann zahlen Sie keinen Verstand, die Lösung 😀
InformationsquelleAutor Jake Kalstad
Sieht es aus wie entweder
Calculator.Logic.MyBaseExpressionParser.Parse
, das werfen der exception, aufgerufen wird irgendwo anders in deinem code, und es nur sieht wie Linie, dass die Ursache der Ausnahme. Vielleicht sind Sie das Debuggen in eine version der exe-Datei, die nicht die aktuelle version des Codes, oder es gibt einen anderen thread ausführenParse
.InformationsquelleAutor Marc Bollinger