CA2219:不要在 exception 子句中引發例外狀況

屬性
規則識別碼 CA2219
標題 不要在 exception 子句中引發例外狀況
類別 使用方式
修正程式是中斷或非中斷 非中斷、中斷
預設在 .NET 8 中啟用 建議

原因

例外狀況是從 finally 、篩選或錯誤子句擲回。

檔案描述

當例外狀況子句中引發例外狀況時,它會大幅增加偵錯的難度。

在 或 fault 子句中引發例外狀況時,如果存在,新的例外狀況會隱藏作用中的 finally 例外狀況。 這會使原始錯誤難以偵測和偵錯。

當篩選子句中引發例外狀況時,執行時間會以無訊息方式攔截例外狀況,並導致篩選準則評估為 false。 無法分辨評估為 false 的篩選準則與從篩選擲回例外狀況之間的差異。 這使得很難在篩選準則的邏輯中偵測和偵錯錯誤。

如何修正違規

若要修正此規則的違規,請勿從 、篩選或錯誤子句明確引發例外 finally 狀況。

隱藏警告的時機

請勿隱藏此規則的警告。 沒有例外狀況子句中引發的例外狀況為執行中的程式碼提供好處。

CA1065:不要在非預期的位置中引發例外狀況

另請參閱