J'ai des parties de code où je veux lever une exception chaque fois qu'un utilisateur n'est pas authentifié/non autorisé.
Donc, au lieu d'écrire mes propres NotAuthenticatedException et NotAuthorizedException, je me demandais s'il n'y avait pas déjà des normes C # pour celles-ci.
Je peux imaginer que beaucoup de programmes lancent des exceptions similaires, et il ne serait pas très utile que chacun "écrive à nouveau sa propre roue".
Vous pouvez également utiliser nauthorizedAccessException pour les violations d'autorisation
Pour éviter de réinventer la roue, j'utiliserais PrincipalPermission.Demand ou PrincipalPermissionAttribute .
Un SecurityException
sera lancé pour vous si la demande échoue.
Si vous souhaitez lever explicitement une exception plutôt que d'utiliser PrincipalPermission.Demand
, vous pouvez envisager de réutiliser le type existant System.UnauthorizedAccessException , qui est décrit dans MSDN comme:
Exception levée lorsque le système d'exploitation refuse l'accès en raison d'une erreur d'E/S ou d'un type spécifique d'erreur de sécurité.
C'est votre application plutôt que le système d'exploitation qui refuse l'accès, mais peut-être assez proche.