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