3

在VS2008 IDE中有沒有一種方法可以讓c#查看所有可能源自方法調用或甚至整個try-catch塊的異常類型?VS2008(c#)中有沒有一種方法可以查看所有可能來自方法調用或甚至整個try-catch塊的異常類型?

我知道intellisense或對象瀏覽器告訴我這種方法可以拋出這些類型的異常,但是除了每次使用對象瀏覽器之外,還有其他方法嗎?編碼時更易於訪問的東西?此外,我不認爲智能感知或對象瀏覽器只能讀取XML代碼註釋。

不應該有可能掃描一個類的源並找到所有可以拋出的異常類型。 (忘記基於方法輸入的路徑,只是掃描異常類型的代碼)

我錯了嗎?擴展這個想法,你應該能夠將鼠標懸停在'try'或'catch'關鍵字上,並提供一個工具提示,其中包含可以拋出的所有類型的異常。

我的問題歸結爲,一個VS2008添加像這樣存在嗎? VS2010可能會這樣做嗎?如果沒有,你能按照我所描述的方式實現它嗎?通過掃描拋出的異常類型的類代碼,人們會覺得它有用。異常會冒出來,所以你必須掃描每一個方法調用的每一個代碼,我想這可能是不切實際的,儘管我想你可以在第一次建立一個索引並以這種方式提高你的速度。

(這可能是一個很酷的小工程....)

回答

4

你要尋找的是Red-Gate Exception Hunter

但是,Exception Hunter是一個靜態分析工具,它不可能告訴你每一段代碼的一切。

例如,給定IoC容器的盛行的今天,你會想到什麼樣的異常以下行能夠拋出:

var service = IoC.Resolve<ILogger>(); 
service.Log("Here"); 

這完全取決於實際類型記錄器被解決,它是否登錄到文件?到數據庫?到網絡服務?到事件日誌?

+0

看起來非常甜。如果只有我用.NET語言編碼。 :) – 2010-05-20 19:12:09

相關問題