// Annoying, but GaxPreconditions.CheckArgument doesn't return anything, because it doesn't have the whole argument. // Maybe we should have an overload for that. (It's only really a problem in constructor chaining...) private static AnnotateImageResponse CheckHasError(AnnotateImageResponse response) { GaxPreconditions.CheckNotNull(response, nameof(response)); GaxPreconditions.CheckArgument(response.Error != null, nameof(response), "response must contain an error"); return(response); }
/// <summary> /// Constructs an exception based on the error in <paramref name="response"/>. /// </summary> /// <param name="response">The response containing the error. Must not be null, and the <see cref="AnnotateImageResponse.Error"/> /// property must not be null.</param> public AnnotateImageException(AnnotateImageResponse response) : base(CheckHasError(response).Error.Message) { this.Response = response; }