I have this code :
try
{
result.FirstName = nodes[myIdx]
.Attributes["ows_FirstName"].Value;
}
catch { }
在调用此函数之前,我不知道我要查找的属性是否存在(好老的SharePoint)。
因此,我想创建的代码的唯一线性方式就是这样。
try
{
result.FirstName = nodes[myIdx]
.Attributes["ows_FirstName"]
.Value;
}
catch { }
try
{
result.LastName = nodes[myIdx]
.Attributes["ows_LastName"]
.Value;
}
catch { }
现在我不需要这段代码的catch部分,最终产生了大量完全冗余的行。
为什么我不能只是这样做:
try
{
result.FirstName = nodes[myIdx]
.Attributes["ows_FirstName"]
.Value;
}
所以即使它没有被处理,为什么我们还要明确声明一个catch块呢?我相信这里有一个合理的原因但自己想不出来。
我知道异常处理的重要性,但是这里并没有什么特别之处,也没有任何我可以做(或需要做)来修复行为。