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 can I handle errors gracefully with fetch when the API returns a non-JSON response?

Asked on Nov 07, 2025

Answer

When using the Fetch API, you can handle errors gracefully by checking the response status and content type before attempting to parse the response as JSON. This ensures that you handle non-JSON responses appropriately.
<!-- BEGIN COPY / PASTE -->
        fetch('https://api.example.com/data')
            .then(response => {
                if (!response.ok) {
                    throw new Error('Network response was not ok');
                }
                const contentType = response.headers.get('content-type');
                if (contentType && contentType.includes('application/json')) {
                    return response.json();
                } else {
                    throw new Error('Received non-JSON response');
                }
            })
            .then(data => {
                console.log('Data:', data);
            })
            .catch(error => {
                console.error('Fetch error:', error);
            });
        <!-- END COPY / PASTE -->
Additional Comment:
  • The "fetch" function initiates a network request to the specified URL.
  • Check "response.ok" to ensure the HTTP status code is in the 200-299 range.
  • Verify the "content-type" header to confirm the response is JSON before parsing.
  • Use "catch" to handle any errors that occur during the fetch or parsing process.
✅ Answered with JavaScript best practices.
← Back to All Questions

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