调bug心得及一个非常二的bug

有时候执行结果错误,可是vs没抛异常。这时能够用trycatch来帮我们捕捉异常。

比如:bug的情况是treeview仅仅显示一个根节点和一个子节点,还不报错。我擦~

private void f_script_Load(object sender, EventArgs e)
        {
            List<t_scripts> parents = new t_scriptsBLL().getByParentId(0) as List<t_scripts>;
            try
            {
                foreach (t_scripts p in parents)
                {
                    //TreeNode tn = new TreeNode(p.name);
                    TreeNode tn = new TreeNode();
                    tn.Text = p.name;
                    treeView1.Nodes.Add(tn);
                    addChildrenNodes(tn, (int)p.id);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

原来是“未将对象引用设置到对象的实例”。

以下我找到那个非常二的bug了

//List<string> sum = new List<string>();//不报错
            List<string> sum = null;//报错
            foreach (string s in sum)
            {
                Console.WriteLine("??");
            }

            Console.WriteLine("!");
            Console.ReadKey();

list假设未赋值是count=0的list。而不是null。foreach不能对null遍历。

ok。睡觉

时间: 2024-10-06 21:25:41

调bug心得及一个非常二的bug的相关文章

调bug心得及一个很二的bug

有时候运行结果错误,但是vs没抛异常,这时可以用trycatch来帮我们捕捉异常. 例如:bug的情况是treeview只显示一个根节点和一个子节点,还不报错,我擦~ private void f_script_Load(object sender, EventArgs e) { List<t_scripts> parents = new t_scriptsBLL().getByParentId(0) as List<t_scripts>; try { foreach (t_scr

修改BUG心得

修改BUG心得 分类: 项目管理/CMMI2013-01-14 22:06 845人阅读 评论(0) 收藏 举报 目录(?)[-] 一 二 三 一. 1.写第一版时就杜绝这些的发生. 2.思维要开阔, 3.修改BUG,写代码的人都很厉害,不管是写界面还是底层.不要以人做的模块的难易来断定人. 二. 今天让项目经理找到些bug,但都是无关紧要的,最主要是因为在作页面的时候,业务逻辑不是很清晰,需求描述的不好,所以我自己做起来也有麻烦,当然,不是我没错,只是以后我做项目经理,对以后自己下属的要求,就

SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行)

原文:SQL Server调优系列玩转篇二(如何利用汇聚联合提示(Hint)引导语句运行) 前言 上一篇我们分析了查询Hint的用法,作为调优系列的最后一个玩转模块的第一篇.有兴趣的可以点击查看:SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行) 本篇继续玩转模块的内容,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲言少叙,进入本篇的内容. 技术准备 数据库版本为SQL Server2012,利用微软的以前的案例库(Northwind)进行分析,

项目管理心得:一个项目经理的个人体会、经验总结(zz)

本人做项目经理工作多年,感到做这个工作最要紧的就是要明白什么是因地制宜.因势利导,只有最合适的,没有什么叫对的,什么叫错的,项目经理最忌讳 的就是完美主义倾向,尤其是做技术人员出身的,喜欢寻找标准答案,耽误了工作进度,也迷茫了自己.以下是本人一些做项目的个人体会,写出来供大家指点,在 讨论过程中共同提高水平. 项目开始阶段是一个最重要的阶段.项目经理在接手一个新项目的时候,首先要尽可能地多从各个方面了解项目的情况,如: 1. 这个项目是什么项目,具体大概做什么事情,是谁提出来的,目的是解决什么问

表与表的关系把RD搞乱了,记一个Procedure中的bug

就是6张表的关联查询,写了一个存储过程,使用4层for来处理 bug:最后一个for中,两张表的关联条件少了一个,结果数据多查了. 排查办法:使用dbms_output.printline('');每一个for中加一个 dbms_output.put_line('-3.'||x.name);//把与下层for关联的关键信息打印出来dbms_output.put_line('-2.'||x.name);//把与下层for关联的关键信息打印出来dbms_output.put_line('-1.'||

消格子时一个很深的bug的修复纪录

环境: cocos2d-x 2.2.2  jsb 条件:当快速在格子中来回拖拽选取时,会一直在计算指尖和格子的真实区域是否碰撞, 报错:touchMOve时由于不停的调用BOxItem的getValidRectangle方法, 即不停的在此方法内执行 node.getContentSize().witdh, 经过好几个小时的检测,发现问题就在这一行,xcode里报错的提示显示的是框架里的touchMove相关的代码,看不出具体问题,大概知道了是在touchMOve时F出的问题 修复办法:在Box

Android4.4深入浅出之SurfaceFlinger框架-渲染一个surface(二)

SurfaceFlinger自启动之后,主要有三种类型线程参与工作: 1.binder线程,负责监控binder设备完成与客户端的交接 2.控制台事件监控线程,负责监控硬件帧缓冲区的睡眠/唤醒状态切换事件. 3.UI渲染线程,负责渲染UI. 一 UI渲染线程 UI渲染线程平时是处于休眠状态,一旦binder线程监测到有其他进程发过来的请求渲染UI的消息就会唤醒UI渲染线程,另一方面一旦SurfaceFlinger服务的控制台事件监控线程发现硬件帧缓冲区即将要进入睡眠或者唤醒状态时,它就会往Sur

ASP.NET MVC的Ajax.ActionLink 的HttpMethod=&quot;Get&quot; 一个重复请求的BUG

这段时间使用BootStrap+Asp.net Mvc5开发项目,Ajax.ActionLink遇到一个重复提交的BUG,代码如下: 1 @model IList<WFModel.WF_Temp> 2 @{ 3 Layout = null; 4 } 5 6 <!DOCTYPE html> 7 8 <html> 9 <head> 10 <meta name="viewport" content="width=device-w

豆瓣app严重bug修复 给一个普通程序员带来的启发!

整个事情让人觉得不可思议! 之前写过一个帖子<牛逼哄哄的豆瓣公司的程序员!佩服!>地址 http://blog.csdn.net/default7/article/details/38597687,里面提到了豆瓣FM ios版本的一个严重级别的bug,锁屏就无法播放!豆瓣fm 肯定是锁屏可以播放的,但是8月12日更新的app会导致锁屏无法播放. 这个问题一直到8月21日才修复更新!(我相信之间有无数的人在反馈这个bug,看我在CSDN博客上的另外那一篇帖子里面的截图就知道!) 豆瓣FM修复严重