public ServerException(int statusCode, ServerError error, string message, Exception innerEx)
     : base(CreateErrorMessage(statusCode, error, message), innerEx)
 {
     m_statusCode = statusCode;
     m_error = error;
     HResult = (int) (HResults.ServerErrorBase | (uint) statusCode);
 }
 public ServerException(int statusCode, ServerError error)
     : this(statusCode, error, null, null)
 {
 }
 private static string CreateErrorMessage(int statusCode, ServerError error, string message)
 {
     var builder = new StringBuilder();
     builder.AppendFormat("StatusCode = {0}", statusCode);
     builder.AppendLine();
     if (error != null)
     {
         builder.AppendLine(error.ToString());
     }
     if (!string.IsNullOrEmpty(message))
     {
         builder.AppendLine(message);
     }
     return builder.ToString();
 }