JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Logo Q&A Logo

How do you handle error responses differently when fetching data from a REST API compared to GraphQL in JavaScript?

Asked on Dec 01, 2025

Answer

When handling error responses from REST APIs and GraphQL in JavaScript, the approach differs due to their distinct response structures. REST APIs typically use HTTP status codes, while GraphQL uses a specific "errors" field in the response.
// Fetching data from a REST API
        fetch('https://api.example.com/data')
            .then(response => {
                if (!response.ok) {
                    throw new Error('Network response was not ok');
                }
                return response.json();
            })
            .then(data => console.log(data))
            .catch(error => console.error('There was a problem with the fetch operation:', error));

        // Fetching data from a GraphQL API
        fetch('https://api.example.com/graphql', {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ query: '{ data { id name } }' })
        })
            .then(response => response.json())
            .then(result => {
                if (result.errors) {
                    throw new Error('GraphQL errors: ' + result.errors.map(e => e.message).join(', '));
                }
                console.log(result.data);
            })
            .catch(error => console.error('There was a problem with the GraphQL operation:', error));
Additional Comment:
  • For REST APIs:
  1. Check the HTTP status code using "response.ok".
  2. Throw an error if the response is not "ok".
  3. Handle errors in the "catch" block.
  • For GraphQL APIs:
  • Always parse the response as JSON.
  • Check for an "errors" field in the response.
  • Throw an error if "errors" exist, and handle it in the "catch" block.
  • Both approaches use "fetch" and handle errors in a "catch" block, but the error detection logic differs.
✅ Answered with JavaScript best practices.
← Back to All Questions

Q&A Network
The Q&A Network
JavaScript
Ask Questions / Get Answers about JavaScript!
AI Education
Ask Questions / Get Answers about AI Education!
Quantum
Ask Questions / Get Answers about Quantum Computing!
AI Coding
Ask Questions / Get Answers about AI Coding!
IoT
Ask Questions / Get Answers about IoT!
WordPress
Ask Questions / Get Answers about WordPress!
Web Development
Ask Questions / Get Answers about Web Development!
AI Business
Ask Questions / Get Answers about AI Business!
Analytics
Ask Questions / Get Answers about Analytics!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
Chatbots
Ask Questions / Get Answers about Chatbots!
Networking
Ask Questions / Get Answers about Networking!
DevOps
Ask Questions / Get Answers about DevOps!
Photography
Ask Questions / Get Answers about Photography!
HTML
Ask Questions / Get Answers about HTML!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
Web Languages
Ask Questions / Get Answers about Web Languages!
AI Video
Ask Questions / Get Answers about AI Video!
Data Science
Ask Questions / Get Answers about Data Science!
AI Images
Ask Questions / Get Answers about AI Images!
Security
Ask Questions / Get Answers about Website Security!
AI
Ask Questions / Get Answers about AI!
VR & AR
Ask Questions / Get Answers about VR & AR!
CSS
Ask Questions / Get Answers about CSS!
Performance
Ask Questions / Get Answers about Web Vitals!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
Film Production
Ask Questions / Get Answers about Film Production!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Web Hosting
Ask Questions / Get Answers about Hosting!
Robotics
Ask Questions / Get Answers about Robotics!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
AI Design
Ask Questions / Get Answers about AI Design!
AI Audio
Ask Questions / Get Answers about AI Audio!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
Video Editing
Ask Questions / Get Answers about Video Editing!
SEO
Ask Questions / Get Answers about SEO!
AI Writing
Ask Questions / Get Answers about AI Writing!
Tailwind
Ask Questions / Get Answers about Tailwind!