Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Exception handling
Message
From
25/05/2017 06:02:39
 
General information
Forum:
C#
Category:
Coding, syntax and commands
Miscellaneous
Thread ID:
01651425
Message ID:
01651472
Views:
53
>Hi everybody,
>
>I checked this https://stackoverflow.com/questions/1456563/best-way-to-check-for-inner-exception
>.
>We have the following code:
>
>
>var sqlException = GetSqlExceptionFromBaseException(ex);
>            if (sqlException != null)
>            {
>                //2627 is the exception number for a unique constraint violation
>                if (sqlException.Number == 2627)
>                {
>                    var errorMessage = Messages.alreadyExists;
>                    var sentences = sqlException.Message.Split('.');
>                    var duplicateValue = Regex.Matches(sqlException.Message, @"\(([^)]*)\)");
>                    if (sentences.Count() > 3  && duplicateValue.Count > 0)
>                    {                        
>                        errorMessage =
>                            String.Format(Messages.alreadyExistsWithValue, duplicateValue[0].Value.Replace("(", "").Replace(")", ""));
>                    }
>                    throw new DuplicatePropertyException(errorMessage);
>                }
>                else
>                {
>                    throw ex;
>                }
>            }
>            else
>            {
>                throw ex;
>            }
>        }
>
>The exception actually says check inner exception for details (and I can see the actual exception when I do so). I'm wondering what is the best way to throw this error but at the same time present that inner exception text as well?
>
>We do log it properly with Elmah but I also want to display it instead of 'see inner exception' message.
>
>Thanks in advance.

Not sure what you are asking. 'InnerException' is a property of Exception so 'throw ex' will have the inner exception available (and you can drill down as far as required).
If you want the exception nested in the DuplicatePropertyException then just add it to the constructor:
throw new DuplicatePropertyException(errorMessage,ex);
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform