StackOverflowException
全部标签记一次C#StackOverflowException异常背景在看刘铁猛老师的《C#语言入门详解》的第17讲的时候,在45:00处,学习属性的Get/Set函数,和老师一样的代码,但是老师的没有出错,我的程序在运行的时候却报出了System.StackOverflowException:“Exception_WasThrown”错误。涉及到的代码如下:publicintScore//创建一个属性{get{returnScore;}set{if(value>=0&&value错误原因分析经过查询得知,这个错误的原因是当使用set()设置Score属性的时候,会循环调用set()函数,set()函
我正在尝试根据以下XML代码在C#中创建一个类:ORKJ.D.SalingerLittleBrownandCompany1951NAAJanJansforlag2011我看过这个帖子XMLtoc#Question,但我一直无法解决问题。我的C#代码如下所示:publicclassCatalog{publicBookClassBook{get{returnBook;}set{Book=value;}}}publicclassBookClass{publicTitleClassTitle{get{returnTitle;}set{Title=value;}}publicstringAuth
我正在尝试使用命名管道在Windows服务和WPF应用程序之间进行通信,两者都是用VB.Net编写的。Windows服务一直在运行。但是,在运行WPF应用程序几个小时后,将引发StackOverflowException。WPF应用程序中的PipeServerThread()是唯一在异常发生时在托管堆栈中重复调用的函数(我使用WinDbg对此进行了追踪)。服务包含NamedPipeClientStream,应用包含NamedPipeServerStream。当客户端和服务器通信时,服务器在经过几次检查后读取最终的客户端响应,然后将客户端字符串传递给代码中其他地方的函数。管道服务器随后被
如果我已经注册了自己的vector异常处理程序(VEH),并且在我的进程中发生了StackOverflow异常,当我到达VEH时,我是否能够在堆栈上分配更多内存?分配会导致我覆盖其他一些内存吗?会发生什么?我知道在.Net中,这就是为什么在线程创建期间提交整个堆栈的原因,但是假设我正在用native编写并且发生这种情况......我将能够在VEH中做什么?内存分配如何……? 最佳答案 在堆栈溢出的情况下,您将有一小部分堆栈可以使用。它的堆栈足以启动一个新线程,该线程将拥有一个全新的堆栈。从那里,您可以在终止之前做任何您需要做的事情。
我正在用C#开发Windows应用程序。在我的应用程序中,我使用了一个静态类。代码如下:publicstaticclassclsNumber{privatestaticobjectvValue;publicstaticobjectValue{get{returnValue;}set{Value=value;}}publicstaticstringHexValue{get{try{returnMicrosoft.VisualBasic.Conversion.Hex(vValue);}catch{returnConvert.ToString(vValue);}}set{Value=Micr
这段代码有什么问题:usingSystem;namespaceapp1{staticclassProgram{staticintx=0;staticvoidMain(){fn1();}staticvoidfn1(){Console.WriteLine(x++);fn1();}}}我使用这个命令编译这段代码:csc/warn:0/out:app4noex.exeapp4.cs当我双击exe时,它似乎没有抛出异常(StackOverFlowException),并一直运行下去。使用visualstudio命令提示符2010,但我还在系统上安装了vs2012,都是最新的。
我不需要从递归方式转换为非递归方式的类(class),我只是想知道为什么我们不能处理这种类型的异常。无论如何,我在非常大的列表上使用递归函数。我已经编写了代码来trycatchStackOverFlowExceptions:try{recursiveFxn(100000);}catch(Exception){}privatevoidrecursiveFxn(intcountdown){if(countdown>0)recursiveFxn(countdown-1);elsethrownewException("lol.Forcedexception.");}但我仍然遇到程序崩溃(在NU
我的程序抛出这个异常:System.StackOverflowException当编译器执行设置属性时。wine类:classwine{publicintyear;publicstringname;publicstaticintno=5;publicwine(intx,stringy){year=x;name=y;no++;}publicintprice{get{returnno*5;}set{price=value;}}}程序类:classProgram{staticvoidMain(string[]args){winew1=newwine(1820,"JackDaniels");C
我正在使用WPFSQLConnectionUserControl.每当我将它放在已打开、关闭然后再次打开的选项卡(AvalonDockDocumentTab)上时,我都会抛出StackOverflowException问题。为了更好地适应我的应用程序,我已经弄乱了Jake的基本实现,但它本质上是一样的。我添加了一个禁用数据库选择的属性。我已将控件放入我的应用程序中,如下所示:为了解决这个问题,我对SqlConnectionStringBuilder的代码隐藏进行了一些重构,但这似乎是有问题的代码:publicstaticreadonlyDependencyPropertyConnect
我在asp.net中写了一段代码,从文件中读取数据并绘制图表。它工作了,但是当我运行程序一段时间后,出现了这个异常"Anunhandledexceptionoftype'System.StackOverflowException'occurredinmscorlib.dll"在代码中的这条语句中:if(File.Exists(fName)) 最佳答案 您的函数可能无限次地递归调用自身。有时这会间接发生(您在BCL中调用一个方法,它会回调您的代码,这样会不断重复)。File.Exists可能不是罪魁祸首。发生错误时查看您的调用堆栈。