CoreTweet.TwitterException.ParseErrors C# (CSharp) Method

ParseErrors() private static method

private static ParseErrors ( string json ) : Error[]
json string
return Error[]
        private static Error[] ParseErrors(string json)
        {
            try
            {
                var obj = JObject.Parse(json);
                var errors = obj["errors"] ?? obj["error"];
                if(errors != null)
                {
                    switch(errors.Type)
                    {
                        case JTokenType.Array:
                            return errors.Select(x => x.ToObject<Error>()).ToArray();
                        case JTokenType.String:
                            return errors.ToString().Replace("\\n", "\n").Split('\n').Select(x => new Error { Message = x }).ToArray();
                    }
                }
            }
            catch(JsonException) { }

            var match = Regex.Match(json, @"(Reason:\n<pre>\s+?(?<reason>[^<]+)<\/pre>|<h1>(?<reason>[^<]+)<\/h1>|<error>(?<reason>[^<]+)<\/error>)");
            if(match.Success)
                return new[] { new Error { Message = match.Groups["reason"].Value } };

            return new[] { new Error { Message = json } };
        }