处理[未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Fo ...

简介: 调试程序时,突然发现 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Form.dll中的异常 怎么微软自己的dll也会出现异常吗?看代码:异常出现位置是窗口关闭时。

调试程序时,突然发现 未处理的“System.StackOverflowException”类型的异常出现在 System.Windows.Form.dll中的异常 怎么微软自己的dll也会出现异常吗?看代码:异常出现位置是窗口关闭时。即Form.close();发生!为什么会出现这么个异常呢?

分析:因为我将代码写在此窗体关闭时执行。那么也就是说会出现一个无限循环调用的问题!其实我的本意只是要将form对象设置为null即可。修改代码:form=null;经测试:通过!

然后我又上网搜了一下,发现有一些代码可能会导致这个异常,大致如下:

1、使用了一个或多个非常非常大的对象(比如一个几千万字的字符串或对一篇长文章没有使用StringBuilder而直接用string类进行加减和replace等操作)   
    
2、使用了层次很深的递归调用(可能是无限递归。。)因为在父函数进入子函数的时候需要把父函数当前的状态push(术语叫现场保留)子函数调用结束再pop,这样在层次很深的时候,还没有开始pop就已经push很多次导致溢出。   
    
3、初学者喜欢犯的毛病,在a里调用b,又在b里调用相同参数的a,造成无限循环,原理和上面一样,最常见是在2个类的构造函数中分别new了一个对方。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/DaiLei831209/archive/2010/05/14/5591423.aspx

相关文章
|
监控 Windows
如何追踪Windows 进程自动异常退出
教你如何追踪Windows 进程自动异常退出
如何追踪Windows 进程自动异常退出
|
2月前
|
运维 安全 Linux
使用阿里云搭建幻兽帕鲁服务器操作系统类型Windows和Linux有区别吗?
使用阿里云搭建幻兽帕鲁服务器操作系统类型Windows和Linux有区别吗?性能有差异?同配置的游戏服务器,如4核16G或8核32G配置等,选择Windows和Linux操作系统差异不太大,如果非要对比的话,Linux系统相对Windows更少占用计算资源,当然如果对Linux不熟悉的话,可以选择Windows。另外,即便是幻兽帕鲁服务器创建成功后,也是可以免费修改操作系统的
114 1
|
5月前
|
Linux 数据安全/隐私保护 Windows
AES在windows下正常加解密,Linux下加密正常,解密异常(javax.crypto.BadPaddingException: pad block co
AES在windows下正常加解密,Linux下加密正常,解密异常(javax.crypto.BadPaddingException: pad block co
57 1
|
6月前
|
程序员 API Windows
[笔记]Windows核心编程《番外篇》几种Hook类型
[笔记]Windows核心编程《番外篇》几种Hook类型
|
Windows
Windows应急响应-异常资源
端口 检查端口连接情况,是否有远程连接、可疑连接。 检查方法 1. 使用`netstat -ano` 命令查看目前的网络连接,定位可疑的 ESTABLISHED 2. 根据 netstat 命令定位出的 PID 编号,再通过 tasklist 命令进行进程定位 `tasklist | findstr "PID"`
78 0
|
网络协议 Windows
windows 配置ipv6异常
windows 配置ipv6异常
windows 配置ipv6异常
|
程序员 API Windows
[笔记]Windows核心编程《番外篇》几种Hook类型
Windows核心编程《番外篇》几种Hook类型
302 0
|
Windows
命名空间“System”中不存在类型或命名空间名称“Windows”(是缺少程序集引用吗?)
命名空间“System”中不存在类型或命名空间名称“Windows”(是缺少程序集引用吗?)
命名空间“System”中不存在类型或命名空间名称“Windows”(是缺少程序集引用吗?)
|
数据安全/隐私保护 Windows
Windows 10访问局域网提示“未授予用户在此计算机上的请求登录类型”
Windows 10访问局域网提示“未授予用户在此计算机上的请求登录类型”
501 0
Windows 10访问局域网提示“未授予用户在此计算机上的请求登录类型”
|
JSON Android开发 数据格式
【Android 逆向】Android 逆向通用工具开发 ( Windows 平台静态库程序类型 | 编译逆向工具依赖的 Windows 平台静态库程序 )
【Android 逆向】Android 逆向通用工具开发 ( Windows 平台静态库程序类型 | 编译逆向工具依赖的 Windows 平台静态库程序 )
152 0
【Android 逆向】Android 逆向通用工具开发 ( Windows 平台静态库程序类型 | 编译逆向工具依赖的 Windows 平台静态库程序 )