Delen via


CA2219: Geen uitzonderingen genereren in uitzonderingsclausules

Eigenschappen Weergegeven als
Regel-id CA2219
Titel Uitzonderingen in uitzonderingsclausules niet genereren
Categorie Gebruik
Oplossing is brekend of niet-brekend Niet-brekend, brekend
Standaard ingeschakeld in .NET 8 Als suggestie

Oorzaak

Er wordt een uitzondering gegenereerd op basis van een finallycomponent, filter of fout.

Beschrijving van regel

Wanneer een uitzondering wordt gegenereerd in een uitzonderingsclausule, wordt de moeilijkheid van foutopsporing aanzienlijk verhoogd.

Wanneer een uitzondering wordt gegenereerd in een finally of foutcomponent, verbergt de nieuwe uitzondering de actieve uitzondering, indien aanwezig. Hierdoor is de oorspronkelijke fout moeilijk te detecteren en fouten op te sporen.

Wanneer een uitzondering wordt gegenereerd in een filtercomponent, wordt de uitzondering door de runtime op de achtergrond onderschept en wordt het filter als onwaar geƫvalueerd. Er is geen manier om het verschil te zien tussen het filter dat wordt geƫvalueerd op onwaar en een uitzondering die afkomstig is van een filter. Dit maakt het lastig om fouten in de logica van het filter te detecteren en op te sporen.

Schendingen oplossen

Als u deze schending van deze regel wilt oplossen, moet u niet expliciet een uitzondering genereren op basis van een finallycomponent, filter of fout.

Wanneer waarschuwingen onderdrukken

Geen waarschuwing voor deze regel onderdrukken. Er zijn geen scenario's waarin een uitzondering die wordt gegenereerd in een uitzonderingsclausule een voordeel biedt voor de uitvoering van code.

CA1065: Geen uitzonderingen genereren op onverwachte locaties

Zie ook