CA2219: Ne emelj kivételeket a kivételkikötésekben
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA2219 |
Cím | Kivételek kizárása a kivételkikötésekben |
Kategória | Használat |
A javítás kompatibilitástörő vagy nem törik | Nem törés, törés |
Alapértelmezés szerint engedélyezve a .NET 9-ben | Javaslatként |
Ok
A rendszer kivételt jelez egy, a finally
szűrő vagy a hiba záradékból.
Szabály leírása
Ha kivételt emelnek ki egy kivételkikötésben, az jelentősen növeli a hibakeresés nehézségét.
Ha egy vagy több finally
tartalék záradékban kivétel keletkezik, az új kivétel elrejti az aktív kivételt, ha van ilyen. Ez megnehezíti az eredeti hiba észlelését és hibakeresését.
Ha egy szűrőzáradék kivételt hoz létre, a futtatókörnyezet csendesen elkapja a kivételt, és a szűrő kiértékelése hamis lesz. Nem lehet megállapítani a különbséget a hamisnak kiértékelt szűrő és a szűrőből származó kivétel között. Ez megnehezíti a szűrő logikájában előforduló hibák észlelését és hibakeresését.
Szabálysértések kijavítása
A szabály megsértésének kijavításához ne emeljen ki kivételt egy, a finally
szűrőből vagy a tartalék záradékból.
Mikor kell letiltani a figyelmeztetéseket?
Ne tiltsa le a szabályra vonatkozó figyelmeztetést. Nincsenek olyan forgatókönyvek, amelyek esetén egy kivételkikötésben felvetett kivétel előnyt biztosít a végrehajtó kód számára.
Kapcsolódó szabályok
CA1065: Ne emeljen kivételeket váratlan helyeken