Пример #1
0
        public HLPexception(System.Exception ex)
            : base(ex.Message)
        {
            string xStackTrace = "";

            if (ex.StackTrace != null)
            {
                xStackTrace = ex.StackTrace.ToString().Trim();
            }
            string xMessage = ex.Message;
            string xInner   = (ex.InnerException == null ? string.Empty : ex.InnerException.ToString());

            #region Tratamento

            if (ex.GetType() == typeof(System.Data.SqlClient.SqlException))
            {
                System.Data.SqlClient.SqlException sqlEx = ex as System.Data.SqlClient.SqlException;
                int numero = sqlEx.Number;
                if (numero == 547)
                {
                    if (ex.Message.Contains("DELETE"))
                    {
                        xMessage = "Você não pode excluir este registro porque ele está sendo usado em outra tabela";
                    }
                }
                else if (numero == 3609)
                {
                    string sMessage = "";
                    if (sqlEx.Errors.Count > 1)
                    {
                        for (int i = 0; i < sqlEx.Errors.Count; i++)
                        {
                            if (sqlEx.Errors[i].Number == 50000)
                            {
                                sMessage = sqlEx.Errors[i].Message;
                            }
                        }
                    }
                    if (sMessage == "")
                    {
                        sMessage = sqlEx.Message;
                    }
                }
            }
            #endregion

            FormException frmEx = new FormException(xMessage, xInner, xStackTrace);
            frmEx.ShowDialog();
        }
Пример #2
0
        public HLPexception(System.Exception ex)
            : base(ex.Message)
        {
            string xStackTrace = "";
            if (ex.StackTrace != null)
            {
                xStackTrace = ex.StackTrace.ToString().Trim();
            }
            string xMessage = ex.Message;
            string xInner = (ex.InnerException == null ? string.Empty : ex.InnerException.ToString());
            #region Tratamento

            if (ex.GetType() == typeof(System.Data.SqlClient.SqlException))
            {
                System.Data.SqlClient.SqlException sqlEx = ex as System.Data.SqlClient.SqlException;
                int numero = sqlEx.Number;
                if (numero == 547)
                {
                    if (ex.Message.Contains("DELETE"))
                    {
                        xMessage = "Você não pode excluir este registro porque ele está sendo usado em outra tabela";
                    }
                }
                else if (numero == 3609)
                {
                    string sMessage = "";
                    if (sqlEx.Errors.Count > 1)
                    {
                        for (int i = 0; i < sqlEx.Errors.Count; i++)
                        {
                            if (sqlEx.Errors[i].Number == 50000)
                            {
                                sMessage = sqlEx.Errors[i].Message;
                            }
                        }
                    }
                    if (sMessage == "")
                    {
                        sMessage = sqlEx.Message;
                    }
                }
            }
            #endregion

            FormException frmEx = new FormException(xMessage, xInner, xStackTrace);
            frmEx.ShowDialog();
        }