2016-12-16 38 views
0

我使用WCF服務,當我把它叫做象下面,的NullReferenceException不逮住

try 
{ 
     //var of1 = CrmStartUp.GetOfferDetailsById(5070, 666, 1, 2016, 18); 
     LostReasonsByOffer lostReasonsByOffer145 = CrmStartUp.GetLostReasonsByOffer(5070); 
} 
catch (Exception ex) 
{ 
} 

後來我

nullreference異常

,它不會被抓SystemException類。 任何人都可以告訴我哪裏出錯或如何解決這個問題。

如下所示

enter image description here

+0

執行停止時檢查線程。可能會發生未捕獲的異常被拋出到另一個線程 - 只是猜測,但值得檢查。 –

+0

發佈* full *例外,包括其調用堆棧。你可以很容易地用'Exception.ToString()'得到它。幾乎可以肯定錯誤發生在別的地方 –

+2

順便說一句,圖像不顯示異常沒有被捕獲。這是跳轉到異常處理程序之前的圖像。順便說一句,這樣的處理程序是一個非常糟糕的主意 - 就像將斷路器固定在上位而不是固定短路一樣 –

回答

1

錯誤你肯定的是,它沒有被抓?它可能只是顯示了在調試器因您的Visual Studio設置按照這個答案

Visual Studio: How to break on handled exceptions?

你既可以嘗試在「釋放」配置中運行它,而不是在「調試」配置,不運行它在調試器中或更改您的visual studio調試設置。

這是唯一想到的東西。

編輯:正如Panagiotis Kanavos所指出的,值得強調的是空的抓塊通常是一種不好的做法。

+1

這正是圖像所顯示的 - 拋出的異常*。 OP可能會將該消息混淆爲未捕獲的異常 –