調bug心得及一個非常二的bug
阿新 • • 發佈:2017-07-04
obj pan scrip ole 設置 snippet parent scripts sage
原來是“未將對象引用設置到對象的實例”。
有時候執行結果錯誤,可是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。睡覺
調bug心得及一個非常二的bug