Question

Quelle est la meilleure pratique pour la validation des paramètres du constructeur?

Supposons un simple morceau de C #:

public class MyClass
{
    public MyClass(string text)
    {
        if (String.IsNullOrEmpty(text))
            throw new ArgumentException("Text cannot be empty");

        // continue with normal construction
    }
}

Serait-il acceptable de lancer une exception?

L'alternative que j'ai rencontrée était la pré-validation, avant d'instanciation:

public class CallingClass
{
    public MyClass MakeMyClass(string text)
    {
        if (String.IsNullOrEmpty(text))
        {
            MessageBox.Show("Text cannot be empty");
            return null;
        }
        else
        {
            return new MyClass(text);
        }
    }
}

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top