2
我們的(相當大)代碼庫有幾個這樣的構造:是否有一個標準的FxCop規則檢測拋出新的異常而不設置InnerException?
try {
DoSomething();
}
catch (Exception e) {
CleanUp();
throw new MoreSpecificException();
}
而且我想,以確保我們在大多數情況下拋出一個新異常的InnerException集。
是否有一個標準的FxCop規則檢測拋出新的異常而不設置InnerException?我的研究(谷歌搜索)表明沒有這樣的規則存在。
如果不是,如何創建這樣的規則? (我從來沒有創建過自定義的FxCop規則)。
我也看過Gendarme tool,但找不到像我需要的東西。
FxCop規則由SonarQube,BTW運行。
我在想的規則是「catch塊中的每個拋出的異常都必須有一個內部異常」 – codeape
這不能確保內部異常實際上是你想要的。即拋出new MoreSpecificException(new WhateverException())'可能會滿足規則,但最初的異常仍然會丟失。 –
是的,但我懷疑代碼庫中的大多數情況都沒有設置任何內聯。 – codeape