{"_path":"/recipes/error-handling","_draft":false,"_partial":false,"_empty":false,"title":"Error Handling","description":"Capture GraphQL errors and handle them accordingly.","excerpt":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"error-policy"},"children":[{"type":"text","value":"Error Policy"}]},{"type":"element","tag":"h2","props":{"id":"error-hook"},"children":[{"type":"text","value":"Error Hook"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt Apollo provides a nuxt hook named "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"apollo:error"}]},{"type":"text","value":" which captures errors encountered by apollo client(s)."}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtPlugin((nuxtApp) => {\n nuxtApp.hook('apollo:error', (error) => {\n console.error(error)\n\n // Handle different error cases\n })\n})\n","filename":"plugins/apollo.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtPlugin((nuxtApp) => {\n nuxtApp.hook('apollo:error', (error) => {\n console.error(error)\n\n // Handle different error cases\n })\n})\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h2","props":{"id":"error-policy"},"children":[{"type":"text","value":"Error Policy"}]},{"type":"element","tag":"h2","props":{"id":"error-hook"},"children":[{"type":"text","value":"Error Hook"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Nuxt Apollo provides a nuxt hook named "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"apollo:error"}]},{"type":"text","value":" which captures errors encountered by apollo client(s)."}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtPlugin((nuxtApp) => {\n nuxtApp.hook('apollo:error', (error) => {\n console.error(error)\n\n // Handle different error cases\n })\n})\n","filename":"plugins/apollo.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-fe9898"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-fe9898"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-447d49"},"children":[{"type":"text","value":"defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":"(("}]},{"type":"element","tag":"span","props":{"class":"ct-1752d6"},"children":[{"type":"text","value":"nuxtApp"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-fe9898"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c8baaf"},"children":[{"type":"text","value":"nuxtApp"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-447d49"},"children":[{"type":"text","value":"hook"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-b92a3e"},"children":[{"type":"text","value":"'apollo:error'"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":", ("}]},{"type":"element","tag":"span","props":{"class":"ct-1752d6"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":") "}]},{"type":"element","tag":"span","props":{"class":"ct-fe9898"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c8baaf"},"children":[{"type":"text","value":"console"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-447d49"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":"("}]},{"type":"element","tag":"span","props":{"class":"ct-1752d6"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":")"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-057358"},"children":[{"type":"text","value":"// Handle different error cases"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-765d4c"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-057358{color:#7F848E}.ct-b92a3e{color:#98C379}.ct-c8baaf{color:#E5C07B}.ct-1752d6{color:#E06C75}.ct-447d49{color:#61AFEF}.ct-765d4c{color:#ABB2BF}.ct-fe9898{color:#C678DD}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"error-policy","depth":2,"text":"Error Policy"},{"id":"error-hook","depth":2,"text":"Error Hook"}]}},"_type":"markdown","_id":"content:2.recipes:2.error-handling.md","_source":"content","_file":"2.recipes/2.error-handling.md","_extension":"md"}