En règle générale, les propriétés ne doivent contenir pratiquement aucune autre logique que des vérifications de limites et des vérifications de type (dépend du langage). Par conséquent, tous les éléments de la liste autres que Gestion des erreurs/Exceptions ne doivent pas être des facteurs lors de la mise en œuvre des propriétés.
W.R.T En cas de gestion d'erreur, il est tout à fait correct de supprimer des exceptions des propriétés (c'est-à-dire lorsqu'un bloc appelant tente de définir une propriété sur une valeur non valide). En outre, l'utilisation de try ... catch est appropriée lorsque vous tentez d'analyser des données.
Un exemple de ceci serait en utilisant une propriété pour masquer un paramètre de requête dans une application Web:
public int UserId
{
get {
string x = Request["userid"];
int userid = -1;
if (!int.TryParse(x, out userid))
throw new ApplicationException("UserID must be a valid integer");
return userid;
}
}
c'est un peu d'un exemple artificiel et simplifiée, mais je l'espère, il illustre le point. Dans une application du monde réel, vous souhaiterez peut-être utiliser une autre méthode de traitement et/ou d'analyse des erreurs pour vérifier les plages d'ID valides et autres, selon les circonstances.
Les propriétés wikipedia entry peuvent également être un bon endroit pour plus d'informations