我有一些代码这样为什么try块需要一个catch
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块?我确信有一个很好的理由,但不能解决它。
编辑:在大家开始关注吞咽异常是不好的,等等等等。我们(和我)都知道这些论点,但在这个(和许多)现实世界的场景中,没有什么例外,我无法做(或需要做)来解决这个问题。
阅读[文章] [1] [1]:http://stackoverflow.com/questions/1573130/net-throwing-custom-exceptions – CheGueVerra 2012-03-15 02:20:47
@CheGueVerra - 不知道如何自己相关的我的问题? – 2012-03-15 02:22:03