原文:http://blog.mygraphql.com/wordpress/?p=108

运行期异常(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了。】


MarkZhu
83 声望21 粉丝

Blog: [链接]


引用和评论

0 条评论