I know sometimes innerException is null
So the following might fail:
repEvent.InnerException = ex.InnerException.Message;
Is ther
With C# 6.0 you can use:
string message = exception.InnerException?.Message ?? "";
This line of code is similar to:
string message = exception.InnerException == null ? "" : exception.InnerException.Message.
https://msdn.microsoft.com/en-us/library/ty67wk28.aspx
http://blogs.msdn.com/b/jerrynixon/archive/2014/02/26/at-last-c-is-getting-sometimes-called-the-safe-navigation-operator.aspx