@@ -606,7 +606,9 @@ entire list in the case of a list position), either resolving to {null} if
606
606
allowed or being further propagated to a parent response position.
607
607
608
608
If this occurs, any sibling response positions which have not yet executed or
609
- have not yet yielded a value may be cancelled to avoid unnecessary work.
609
+ have not yet yielded a value may be cancelled to avoid unnecessary work. Any
610
+ errors raised by these sibling response positions must not be added to the
611
+ {"errors"} list in the _ execution result_ .
610
612
611
613
Note: See [ Handling Execution Errors] ( #sec-Handling-Execution-Errors ) for more
612
614
about this behavior.
@@ -922,8 +924,13 @@ result_.
922
924
923
925
If a _ response position_ resolves to {null} because of an execution error which
924
926
has already been added to the {"errors"} list in the _ execution result_ , the
925
- {"errors"} list must not be further affected. That is, only one error should be
926
- added to the errors list per _ response position_ .
927
+ {"errors"} list must not be further affected. If a sibling field of a response
928
+ position that triggered error propagation also raises an error, this additional
929
+ error must not be added to the {"errors"} list.
930
+
931
+ Note: The result of the above is that exactly one error must be added to the
932
+ {"errors"} list for each {null} appearing in the _ execution response_ because of
933
+ an error (including due to error propagation).
927
934
928
935
Since ` Non-Null ` response positions cannot be {null}, execution errors are
929
936
propagated to be handled by the parent _ response position_ . If the parent
0 commit comments