今天调试代码的时候,有个页面后台抛出了StackOverflowException异常,

这个异常主要是无限循环或无限递归引起的,但是我的那段代码怎么调试,都没有发现无限循环或递归

 很是郁闷,后来同事说可能你那对应到数据库字段的值有问题,

于是我一个个调试取值,终于找到了原因,但是这根源似乎和循环、递归不搭边啊!

这是之前的代码:

View Code
 ArrayList list = new ArrayList();

if (dt.Rows.Count > 0)

{

list.Add(dt.Rows[0]["address"]);

}

Add里变量是object,我就没把取出的值ToString;

数据库中这个值是 null ,

在断点调试的时候,取出的值竟然是 {} 两个字符,这明显有问题!

解决方法:就是加上ToString

我的疑问:数据库中值是null,怎么后台取出来是 {} 呢?

              这个问题怎么会抛出那个异常?

希望技术界的精英解疑答惑下



posted on 2011-10-13 22:52  亚洲DotNet首席技师  阅读(277)  评论(1编辑  收藏  举报