分类: 嵌入式
2012-03-15 18:34:01
string s1 = null;
string s2 = null;
Console.WriteLine( s1+ s2+ @"\" );
以上代码不会抛出异常, 这个行为很符合直觉, 这个行为重要在处理异常的代码中, 可以大大减少不必要的簿记代码
try
{...
}
catch(Exception ex)
{
Logger.Log( someVariableMaybeNull + ex );
}
本来就是catch all代码段, 程序员的这个代码块里往往会放松警惕, 在这个代码块里尤其是防止再次抛出异常, 这样的异常往往不是编程者所期望的. 很可能需要在这里收集足够的信息以供调试时定位问题, string对象的+操作符对null对象的处理方式大大减少了判断一些string变量是否为空的必要