Relay v18.0.0 にて @throwOnFieldError や @catch, @semanticNonNull といったエラーハンドリングに関連する Directive が追加された。 これらの Directive の意味と活用方法をこのエントリで解説していく。 なお、今回のエントリは自分が書いた以下エントリの続編としての意味合いも含んでいる。 Relay v18 で追加された Client Side DirectiveGraphQL Erorrs をコンポーネントから扱えるRelay v18 で追加された @throwOnFieldError および @catch はクライアントサイド, すなわち GraphQL オペレーション側に記述する Directive である。 以降の解説のため、次の GraphQL クエリを題材とする。 query { book { title