System.StackOverflowException C#
System.StackOverflowException C#
如何绕过 Whosebug 异常或有更好的方法吗?非常感谢任何帮助!
public MetricItemDetail GetData(int itemId, int itemTwoId)
{
//some of my code goes here..
try
{
return new Class
{
Value = GetItemDetails(itemId, itemIdTwo)
};
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
return new Class();
}
}
public double GetItemDetails(int itemId, int itemTwoId)
{
var currentValue = GetData(itemId, itemTwoId); // The problem is here..this is where I get the Whosebug exception
}
GetItemDetails 和 GetData 方法相互调用,这会导致“无限”循环,每次调用都会分配堆栈,不幸的是堆栈大小不是无限的;)
在此处查看更多详细信息:https://www.dotnetperls.com/Whosebugexception
WhosebugException无法绕过,也无法捕获,必须避免。它的存在是为了保护 .NET 运行时免受致命崩溃。
如何绕过 Whosebug 异常或有更好的方法吗?非常感谢任何帮助!
public MetricItemDetail GetData(int itemId, int itemTwoId)
{
//some of my code goes here..
try
{
return new Class
{
Value = GetItemDetails(itemId, itemIdTwo)
};
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
return new Class();
}
}
public double GetItemDetails(int itemId, int itemTwoId)
{
var currentValue = GetData(itemId, itemTwoId); // The problem is here..this is where I get the Whosebug exception
}
GetItemDetails 和 GetData 方法相互调用,这会导致“无限”循环,每次调用都会分配堆栈,不幸的是堆栈大小不是无限的;)
在此处查看更多详细信息:https://www.dotnetperls.com/Whosebugexception
WhosebugException无法绕过,也无法捕获,必须避免。它的存在是为了保护 .NET 运行时免受致命崩溃。