Correct way to return error in custom service through GraphQL

Now my resolver function returns this:

...

  const product = await strapi.services.product.findOne({
    id: product_id
  })

  if (!product) {
    return { status: '404', message: 'The product does not exist.'};
  }

...

Resulting in the same error:

"message": "Cannot return null for non-nullable field Order.id.",

I assume the schema expects another structure of the GraphQL response, so basically the error message doesn’t fit the schema — right?