JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Topic Learning Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

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
Real Questions. Clear Answers.
JavaScript
Ask Questions / Get Answers about JavaScript!
Chatbots
Ask Questions / Get Answers about Chatbots!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
Security
Ask Questions / Get Answers about Website Security!
CSS
Ask Questions / Get Answers about CSS!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
3D Design
Ask Questions / Get Answers about 3D Design!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
AI
Ask Questions / Get Answers about AI!
DevOps
Ask Questions / Get Answers about DevOps!
Video Editing
Ask Questions / Get Answers about Video Editing!
IoT
Ask Questions / Get Answers about IoT!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Nursing
Ask Questions / Get Answers about Nursing!
SEO
Ask Questions / Get Answers about SEO!
Web Development
Ask Questions / Get Answers about Web Development!
Analytics
Ask Questions / Get Answers about Analytics!
Sound Design
Ask Questions / Get Answers about Sound Design!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
AI Design
Ask Questions / Get Answers about AI Design!
Illustration
Ask Questions / Get Answers about Illustration!
Quantum
Ask Questions / Get Answers about Quantum Computing!
AI Images
Ask Questions / Get Answers about AI Images!
HTML
Ask Questions / Get Answers about HTML!
AI Video
Ask Questions / Get Answers about AI Video!
Film Production
Ask Questions / Get Answers about Film Production!
Social Media Psychology
Ask Questions / Get Answers about Social Media Psychology!
AI Audio
Ask Questions / Get Answers about AI Audio!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
Data Science
Ask Questions / Get Answers about Data Science!
AI Coding
Ask Questions / Get Answers about AI Coding!
Digital Burnout
Ask Questions / Get Answers about Digital Burnout!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
VR & AR
Ask Questions / Get Answers about VR & AR!
Performance
Ask Questions / Get Answers about Web Vitals!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
Photography
Ask Questions / Get Answers about Photography!
WordPress
Ask Questions / Get Answers about WordPress!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
Web Hosting
Ask Questions / Get Answers about Hosting!
Podcasting
Ask Questions / Get Answers about Podcasting!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
Business Finance
Ask Questions / Get Answers about Business Finance!
Web Languages
Ask Questions / Get Answers about Web Languages!
AI Writing
Ask Questions / Get Answers about AI Writing!
AI Education
Ask Questions / Get Answers about AI Education!
Tailwind
Ask Questions / Get Answers about Tailwind!
Animation
Ask Questions / Get Answers about Animation!
Robotics
Ask Questions / Get Answers about Robotics!
AI Business
Ask Questions / Get Answers about AI Business!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
Networking
Ask Questions / Get Answers about Networking!