未处理StackOverflowException HResult = -2147023895

cengiz.cihangir
public void serialcek()
    {

            while (!exitThread)
            {
                foreach (ManagementObject currentObject in theSearcher.Get())
                {

                    try
                    {
                        textBox1.Text = currentObject["Size"].ToString() + " " + currentObject["PNPDeviceID"].ToString();
                        currentObject.Dispose();

                    }
                    catch (Exception)
                    {
                        //    MessageBox.Show("Bişiler oldu bende anlamadım");
                        currentObject.Dispose();
                        //exitThread = false;
                    }
                }

            }
            Thread.Sleep(100);
            serialcek();
        }

我使用线程。但几分钟后出现错误。单击按钮可以使exitThread变为true。超过5分钟后,给出了一个StackOverflowException未处理的HResult = -2147023895错误。

感谢帮助。

阿米尔·波波维奇(Amir Popovich)

您的调用会serialcek()递归地进行,而不会停止,从而导致堆栈溢出。

PS最终使用withtry\catch来防止代码重复:

public void serialcek()
{

        while (!exitThread)
        {
            foreach (ManagementObject currentObject in theSearcher.Get())
            {
                try
                {
                    textBox1.Text = currentObject["Size"].ToString() + " " + currentObject["PNPDeviceID"].ToString();
                }
                catch (Exception)
                {
                    // MessageBox.Show("Bişiler oldu bende anlamadım");
                    //exitThread = false;
                }
                finally
                {
                   currentObject.Dispose();
                }
            }
        }
        Thread.Sleep(100);

        if(<condition>) // add your condition here
        {
           serialcek();
        }
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

StackOverflowException未处理C#

在CurrentDomain_UnhandledException处未处理System.TypeInitializationException HResult = -2146233036 ...

未处理System.InvalidOperationException HResult = -2146233079消息=无法创建新服务:ChromeDriverService

未处理的异常:来自 HRESULT 的 System.BadImageFormatException 异常:0x8007000B

在application.exe中发生了'System.StackOverflowException'类型的未处理异常

VimService55.XmlSerializers.dll中发生类型为'System.StackOverflowException'的未处理异常

application.exe 中类型为“System.StackOverflowException”的未处理异常

Microsoft.WindowsAzure.Storage.dll中发生了类型为'System.StackOverflowException'的未处理异常

使用AutoMapper和多对一相关实体的类型为'System.StackOverflowException'的未处理异常

发生了类型为“System.StackOverflowException”的未处理异常,并且 toString 首先出现了一些不同的问题

生成报告会导致在system.windows.forms.dll中发生类型为'system.stackoverflowexception'的未处理异常

IOException HResult可能的值

使用HRESULT的ctypes(python)

如何处理StackOverflowException

如何处理 StackOverflowException

未处理的异常Junit

未处理NullReferenceException

CsvReaderException未处理

NetConnection未处理的NetStatusEvent

数组值未处理

Java:未处理的异常

Android未处理的异常

AccessViolationError未处理

开关语句未处理

Dropzone文件未处理

未处理的异常-Flutter

发生未处理的异常

AmbiguosMatchException是否未处理?

未处理NullReferenceException