CA2219:不要在 exception 子句中引發例外狀況
屬性 | 值 |
---|---|
規則識別碼 | CA2219 |
職稱 | 不要在 exception 子句中引發例外狀況 |
類別 | 使用方式 |
修正程式是中斷或非中斷 | 非中斷、中斷 |
預設在 .NET 9 中啟用 | 建議 |
原因
例外狀況是從 finally
、篩選或錯誤子句擲回。
檔案描述
當例外狀況子句中引發例外狀況時,它會大幅增加偵錯的難度。
在 或fault子句中引發例外狀況時,如果存在,新的例外狀況會隱藏作用中的 finally
例外狀況。 這會使原始錯誤難以偵測和偵錯。
當篩選子句中引發例外狀況時,運行時間會以無訊息方式攔截例外狀況,並導致篩選條件評估為 false。 無法分辨評估為 false 的篩選條件與從篩選擲回例外狀況之間的差異。 這使得很難在篩選條件的邏輯中偵測和偵錯錯誤。
如何修正違規
若要修正此規則的違規,請勿從 、篩選或錯誤子句明確引發例外 finally
狀況。
隱藏警告的時機
請勿隱藏此規則的警告。 沒有例外狀況子句中引發的例外狀況為執行中的程序代碼提供好處。