当前位置 : 主页 > 编程语言 > 其它开发 >

让 VS2008 崩溃 的 WinForm 用户控件

来源:互联网 收集:自由互联 发布时间:2022-05-25
今天,使用VS2008做了一个WinFom的用户控件,编写代码时犯了一个“小小”的错误,确付出了惨重的代价。 下面就还原一下“案发现场”:新建一个Window窗体应用程序项目: 向项目中添

今天,使用VS2008做了一个WinFom的用户控件,编写代码时犯了一个“小小”的错误,确付出了惨重的代价。

下面就还原一下“案发现场”: 新建一个Window窗体应用程序项目: ControlError0 向项目中添加一个用户控件: ControlError1 打开UserControl1,向其添加一个TextBox: ControlError2 转到代码,写一个属性Text,在19~23行 ControlError3 注意21行中,使用return Text,就是我犯的“小小”错误。它的本意如下:
ControlError4  真正应该返回的textBox1的Text属性。因为这个属性太“简单”了,没放在心上,代码又有智能提示… 打开Form1,从工具箱中将这个用户控件置入窗体: ControlError5错误出现了: ControlError6  点击确定,VS2008就关闭了。 后记

为了解决这个问题,我花费了一个多小时的时间!大家不要取笑,我的实际情况要比上述复杂的多:用户控件的代码近千行,而且控件已经置入窗体,错误是编译生成时出现的,而且没有任何提示(VS2008直接关闭)。重复打开项目无数次,一编译就关掉,又来回反复的检查代码…

其实发生错误的原因很简单,就是一个StackOverflow。

虽然错误是我犯下的,但微软也有“责任”的,为什么不try/catch一下?为什么不提示详细一些?为什么就突然崩溃(让我也差点崩溃)?

 

“小小”错误,惨重的代价,发出来,提醒大家一下。

-------------------

思想火花,照亮世界

网友评论