I have written this method
private string FindInnerExceptionMessage(Exception ex)
{
string exceptionMsg = string.Empty;
if (ex.InnerException == null)
{
exceptionMsg = ex.Message;
}
else
{
ex = ex.InnerException;
FindInnerExceptionMessage(ex);
}
return exceptionMsg;
}
However, after that FindInnerExceptionMessage it is stepping to return exceptionMsg and not logging the exact exception message
You don’t actually assign the return value of your recursive call to anything. As a result, your first call will return
String.Emptybecause the value ofFindInnerExceptionMessage(ex.InnerException)is never assigned as the return value (unless the exception passed to the first call has no inner exception, in which case it will work). Try something like this: