Gewusst wie: Behandeln von Ausnahmen, Best Practices

ie müssen eine globale Fehlerbehandlung implementieren, damit Sie möglicherweise mit dem folgenden Beispiel helfen können ...

Ich habe diesen Code:

public bool IsUserAuthorizedToSignIn(string userEMailAddress, string userPassword)
        {
            // get MD5 hash for use in the LINQ query
            string passwordSaltedHash = this.PasswordSaltedHash(userEMailAddress, userPassword);

            // check for email / password / validity
            using (UserManagementDataContext context = new UserManagementDataContext())
            {
                var users = from u in context.Users
                            where u.UserEMailAdresses.Any(e => e.EMailAddress == userEMailAddress)
                                && u.UserPasswords.Any(p => p.PasswordSaltedHash == passwordSaltedHash)
                                && u.IsActive == true
                            select u;

                // true if user found
                return (users.Count() == 1) ? true : false;
            }
        }

und der md5 auch:

private string PasswordSaltedHash(string userEMailAddress, string userPassword)
        {
            MD5 hasher = MD5.Create();
            byte[] data = hasher.ComputeHash(Encoding.Default.GetBytes(userPassword + userEMailAddress));

            StringBuilder stringBuilder = new StringBuilder();
            for (int i = 0; i < data.Length; i++)
            {
                stringBuilder.Append(data[i].ToString("x2"));
            }

            Trace.WriteLine(String.Empty);
            Trace.WriteLine("hash: " + stringBuilder.ToString());
            return stringBuilder.ToString();
        }

so, wie gehe ich vor, um Ausnahmen von diesen Funktionen zu behandeln? Der erste Aufruf erfolgt über die Seite Default.aspx. Die zweite Funktion wird nur von anderen Funktionen aus der Klassenbibliothek aufgerufen.

was ist die beste Vorgehensweise?

surround code INSIDE jede Funktion mittry-catchsurround den FUNCTION CALL mittry-catchetwas anderes?

Was tun, wenn Ausnahmen auftreten?

in diesem Beispiel: Dies ist ein Benutzer, der sich anmeldet. Selbst wenn also alles fehlschlägt, sollte der Benutzer einige aussagekräftige Informationen erhalten - in etwa: Anmelden in Ordnung (nur umleiten), Anmelden nicht in Ordnung (falscher Benutzername / falsches Passwort). , Anmeldung aufgrund interner Probleme nicht möglich, sorry (Ausnahme ist aufgetreten).

für die erste Funktion mache ich mir Sorgen, wenn es ein Problem mit dem Datenbankzugriff gibt. Ich bin mir nicht sicher, ob es etwas gibt, das im zweiten behandelt werden muss.

thnx für die Info. wie würdest du es machen? Ich benötige spezielle Informationen dazu (für mich verständlicher), aber auch allgemeine Informationen zum Umgang mit anderen Aufgaben / Funktionen.

Ich habe mich im Internet umgesehen, aber jeder hat andere Dinge zu sagen, also weiß ich nicht, was ich tun sol

Antworten auf die Frage(6)

Ihre Antwort auf die Frage