我有一些代碼這樣爲什麼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