como: lidar com exceções, práticas recomendadas

precisa implementar um tratamento de erros global, então talvez você possa ajudar com o exemplo a seguir ...

eu tenho este código:

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;
            }
        }

e o md5 também:

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();
        }

então, como eu lidaria com exceções dessas funções? eles primeiro é chamado a partir da página Default.aspx. o segundo é chamado apenas de outras funções da biblioteca de classes.

qual é a melhor prática?

código surround DENTRO de cada função comtry-catchrode a CHAMADA DE FUNÇÃO comtry-catchalgo mais??

o que fazer se ocorrerem exceções?

neste exemplo: este é um login do usuário; portanto, mesmo que tudo falhe, o usuário deve obter informações significativas - ao longo das linhas: entrar ok (apenas redirecionar), entrar não ok (nome de usuário / senha incorretos), Não é possível fazer login devido a problemas internos. Desculpe. Ocorreu uma exceção.

Para a primeira função, estou preocupado se houver um problema com o acesso ao banco de dados. não tenho certeza se há algo que precise ser tratado no segundo.

thnx para a informação. Como você faria? preciso de informações específicas sobre isso (mais fácil para eu entender), mas também informações gerais sobre como lidar com outras tarefas / funções.

Eu olhei em volta da internet, mas todo mundo tem coisas diferentes a dizer, por isso não sei o que fazer ... irá com a maioria dos votos aqui ou com a resposta mais lógica explicada :) obrigado.

questionAnswers(3)

yourAnswerToTheQuestion