According to GrapqhQL specification, any error (missing field, resolver raises..) should be caught, formatted (GraphQLError type in graphql-js) and added to the "errors" list in the response.
As of today, they are thrown in the observable error channel.