我有以下代碼。我封閉一個try塊和「嘗試」捕捉異常:爲什麼我的異常不被捕獲?
try
{
var response = query.Execute() as QueryOperationResponse;
}
catch (System.Net.WebException s)
{
var se = e;
se = se + "aa";
}
catch (Exception e)
{
var a = e;
a = a + "ab";
}
當query.Execute行執行它產生一個異常和VS2010停止上線開始捕撈(System.Net並給出以下:
System.Data.Services.Client.DataServiceQueryException was unhandled by user code
Message=An error occurred while processing this request.
Source=System.Data.Services.Client
StackTrace:
at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents)
at System.Data.Services.Client.DataServiceQuery`1.Execute()
當我步驟通過我希望它去代碼「VAR SE = 2;」或「VAR A = E」然而,當我步驟通過與F11之後的下一行是一個跳轉完全在代碼塊/方法之外
爲什麼異常不會落入其中一個catch桶?我完全困惑。
你重新拋出異常的第二個catch塊。 – Lee 2011-12-17 14:55:40
這是優化嗎?無論如何,代碼將註定會被拋出。 – 2011-12-17 14:57:32
這裏的代碼只是測試代碼。我期待並試圖測試它是否會進入捕獲階段。我如何測試,仍然不確定它爲什麼不去那裏。 – 2011-12-17 14:59:41