Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 由于对象的当前状态,操作无效?_C#_Exception - Fatal编程技术网

C# 由于对象的当前状态,操作无效?

C# 由于对象的当前状态,操作无效?,c#,exception,C#,Exception,我正在用C语言编程;这段代码大约一周前还在运行,但是它抛出了一个异常,我根本不明白它会出什么问题 Var root = new CalculationNode(); -> Throw exception. 在调用堆栈中,这是唯一列出的东西,我被告知可能是我需要一个干净的构建,但我愿意接受任何想法或建议 谢谢, -账单 更新: 例外情况详情 用户代码未处理System.InvalidOperationException Message=由于对象的当前状态,操作无效。 Source=Calc

我正在用C语言编程;这段代码大约一周前还在运行,但是它抛出了一个异常,我根本不明白它会出什么问题

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,我知道出了什么问题。结果是我的验证方法出现了一个简单的逻辑错误。谢谢,我知道是什么错了,结果是我的验证方法出现了一个简单的逻辑错误。