C# 由于对象的当前状态,操作无效?
我正在用C语言编程;这段代码大约一周前还在运行,但是它抛出了一个异常,我根本不明白它会出什么问题C# 由于对象的当前状态,操作无效?,c#,exception,C#,Exception,我正在用C语言编程;这段代码大约一周前还在运行,但是它抛出了一个异常,我根本不明白它会出什么问题 Var root = new CalculationNode(); -> Throw exception. 在调用堆栈中,这是唯一列出的东西,我被告知可能是我需要一个干净的构建,但我愿意接受任何想法或建议 谢谢, -账单 更新: 例外情况详情 用户代码未处理System.InvalidOperationException Message=由于对象的当前状态,操作无效。 Source=Calc
Var root = new CalculationNode(); -> Throw exception.
在调用堆栈中,这是唯一列出的东西,我被告知可能是我需要一个干净的构建,但我愿意接受任何想法或建议
谢谢,
-账单
更新:
例外情况详情
用户代码未处理System.InvalidOperationException
Message=由于对象的当前状态,操作无效。
Source=Calculator.Logic
堆栈跟踪:
在~\Source\Calculator.Logic\MyBaseExpressionParser.cs中的~.Calculator.Logic.MyBaseExpressionParser.Parse(字符串表达式)处:第44行
位于~\Projects\Tests\Calculator.Logic.Tests\MyBaseCalculatorServiceTests.BasicMathDivision()中的~.Calculator.Logic.Tests.MyBaseCalculatorServiceTests:60行
内部异常:
CalculationNode的代码:
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的代码:
public sealed class CalculationElement
{
public CalculationElement()
{
Value = string.Empty;
IsOperator = false;
}
public string Value {get; set}
public bool IsOperator {get; set}
}
首先要查看的是
CalculationNode
的构造函数代码。您可以在该构造函数中设置一个断点,然后逐步遍历代码,查看发生了什么问题
如果您正在使用诸如之类的工具执行任何类型的日志记录,则应检查您可能拥有的任何日志
如前所述,最好查看堆栈跟踪,看看是否有任何问题。首先要查看的是
CalculationNode的构造函数代码。您可以在该构造函数中设置一个断点,然后逐步遍历代码,查看发生了什么问题
如果您正在使用诸如之类的工具执行任何类型的日志记录,则应检查您可能拥有的任何日志
如前所述,查看堆栈跟踪始终是一个好主意,以查看是否有任何问题。如果您最近更新了service pack,则可能需要更新数据库架构。如果您最近更新了service pack,您可能需要更新数据库架构。您的Calculator.Logic.MyBaseExpressionParser.Parse方法在第44行抛出异常
您应该查看该方法并找出问题所在。您的Calculator.Logic.MyBaseExpressionParser.Parse方法在第44行抛出异常
您应该查看该方法并找出问题所在。它看起来像是引发异常的Calculator.Logic.MyBaseExpressionParser.Parse,在代码中的其他地方被调用,看起来只是该行导致了异常。可能您正在调试的exe版本不是代码的最新版本,或者有另一个线程正在执行Parse
它看起来像是Calculator.Logic.MyBaseExpressionParser.Parse
,引发异常的线程在代码的其他地方被调用,看起来只有这一行导致了异常。可能您正在调试的exe版本不是代码的最新版本,或者有另一个线程正在执行Parse
什么是CalculationNode
?异常的堆栈跟踪是什么?什么是CalculationNode
?异常的堆栈跟踪是什么?这里没有涉及数据库。那么请不要介意该解决方案:dt这里没有涉及数据库。然后不要介意该解决方案:DThanks,我知道出了什么问题。结果是我的验证方法出现了一个简单的逻辑错误。谢谢,我知道是什么错了,结果是我的验证方法出现了一个简单的逻辑错误。