You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ifthe `email` field (which may be defined as `String!` in the schema) throwsanerror, itwouldreturn `null` insteadofcausingtheentire `user` objecttobecome `null`.
Copy file name to clipboardExpand all lines: spec/Section 6 -- Execution.md
+4
Original file line number
Diff line number
Diff line change
@@ -386,6 +386,8 @@ either resolving to {null} if allowed or further propagated to a parent field.
386
386
If this occurs, any sibling fields which have not yet executed or have not yet
387
387
yielded a value may be cancelled to avoid unnecessary work.
388
388
389
+
This default error propagation behavior can be modified by using the `@disableErrorPropagation` directive on an operation. If this directive is present, field errors in non-null fields will not propagate to their parent fields. Instead, the field that experienced the error will return `null` (even if it's a non-null field) and the error will be added to the response's `errors` list, but parent fields will continue to be resolved normally. This allows clients to receive partial data with localized errors rather than having errors propagate and potentially nullify large portions of the response.
390
+
389
391
Note: See [Handling Field Errors](#sec-Handling-Field-Errors) for more about
390
392
this behavior.
391
393
@@ -835,3 +837,5 @@ upwards.
835
837
If all fields from the root of the request to the source of the field error
836
838
return `Non-Null` types, then the {"data"} entry in the response should be
837
839
{null}.
840
+
841
+
Note: The error propagation behavior described above can be modified by using the `@disableErrorPropagation` directive on an operation. See [Errors and Non-Null Fields](#sec-Executing-Selection-Sets.Errors-and-Non-Null-Fields) for details.
0 commit comments