运行期异常(Runtime Exceptions )
在一些异常的情况下, graphql engine 有可能抛出 Runtime exceptions。下面是调用
:graphql.execute(...)
期间可能出现的异常。 他们不是执行 graphql 查询中发生的异常。 但还是不能被忽略。
- graphql.schema.CoercingSerializeException
发生这类型的异常,原因是序列化Scalar时出错。如 Int 字段获取到 String
值。- graphql.schema.CoercingParseValueException
发生这类型的异常,原因是解释输入的 Scalar 时出错 ,如 int
参数的实际输入值是一个 String。- graphql.execution.UnresolvedTypeException
当 graphql.schema.TypeResolver` 不能判断抽象对象( interface or union
type) 的实际类型( concrete object type) 时发生这个异常。- graphql.execution.NonNullableValueCoercedAsNullException
如果 个不允许为 null 的参数,被赋值为 null。会抛出上面异常。.
- graphql.execution.InputMapDefinesTooManyFieldsException
可以输入对象( input type object
)包含了未在Schema中定义的field。就会发生上面异常。- graphql.schema.validation.InvalidSchemaException
表示在运行下面函数时, Schema 校验失败。
: graphql.schema.GraphQLSchema.Builder#build()`- graphql.GraphQLException
这个是通用的异常。如不能访问 POJO 的 field。这可以等同于
RuntimeException。- graphql.AssertException
这是内部断言的预计外异常
事实上不应该发生【译注:如果抛出了,可能是框架有BUG了。】