C# 环境。退出随机生成Win32句柄错误
我创建了一个退出应用程序的简单C# 环境。退出随机生成Win32句柄错误,c#,exit-code,C#,Exit Code,我创建了一个退出应用程序的简单toolstrip项 它将数据保存到数据表,然后返回一个消息框,说明保存成功,然后退出 当我使用Environment.Exit(1)时,它挂起了,在阅读一些细节时,他会说线程可能正在等待、休眠等 我尝试使用Environment.Exit(0),但不知何故它起了作用,但我不知道为什么。 我知道这与退出代码有关,但作为一名“业余”程序员,我不知道这意味着什么 有什么提示吗?可能是针对最终用户程序员的阅读源?当您指定0时,则表示成功,但当您指定0以外的任何内容时,则表
toolstrip
项
它将数据保存到数据表
,然后返回一个消息框
,说明保存成功,然后退出
当我使用Environment.Exit(1)
时,它挂起了,在阅读一些细节时,他会说线程可能正在等待、休眠等
我尝试使用Environment.Exit(0)
,但不知何故它起了作用,但我不知道为什么。
我知道这与退出代码有关,但作为一名“业余”程序员,我不知道这意味着什么
有什么提示吗?可能是针对最终用户程序员的阅读源?当您指定
0
时,则表示成功,但当您指定0
以外的任何内容时,则表示错误
你可以查一下
报告还说:
参数
exitCodeType:System.Int32
要提供给操作系统的退出代码使用0(零)来
表示流程已成功完成。
你的意思是说,我是故意犯错误的?还有,为什么错误是随机的?它不应该每次都给出错误吗?请改进你的帖子,现在它没有给出OP程序为什么会挂起的任何提示。@HansPassant当然没有。这就是我想弄明白的。我的评论是针对拉胡尔的,不是你。OP是你。你必须更好地记录你的问题。必须启用非托管调试,并在挂起时使用Debug+Break All。如果需要,可以使用Debug+Windows+Threads窗口选择线程,您可能需要查看终结器线程。您看到的调用堆栈是解决此问题的基本文档。若所有这些听起来像GobbleDeBook,那个么很可能是这样,那个么根本就不要使用Environment.Exit()。一种更友好的终止程序的方法是Application.Exit(),它会正常清理。谢谢,Application.Exit真的做到了