ในระหว่างการพัฒนาแอปพลิเคชัน การจัดการข้อผิดพลาดเป็นสิ่งสำคัญเพื่อให้แน่ใจว่าผู้ใช้จะได้รับประสบการณ์ที่ราบรื่นและลดปัญหาที่ไม่คาดคิด ใน Express.js สภาพแวดล้อม คุณมีหลายวิธีในการจัดการกับข้อผิดพลาดและจัดเตรียมข้อความตอบกลับที่เหมาะสมแก่ผู้ใช้ นี่คือคำแนะนำเกี่ยวกับวิธีการบรรลุเป้าหมายนี้:
ใช้ Middleware สำหรับการจัดการข้อผิดพลาดส่วนกลาง
สร้างการจัดการข้อผิดพลาดส่วนกลาง middleware โดยเพิ่มรหัสต่อไปนี้ที่ส่วนท้ายของไฟล์ app.js
หรือไฟล์หลักของ Express.js แอปพลิเคชัน ของคุณ
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
การจัดการข้อผิดพลาดสำหรับเฉพาะ Route
ในบาง route คุณสามารถใช้ try
- catch
บล็อกเพื่อตรวจจับข้อผิดพลาดและจัดเตรียมข้อความตอบกลับที่เหมาะสม
app.get('/profile/:id', async(req, res) => {
try {
const user = await getUserById(req.params.id);
res.json(user);
} catch(error) {
res.status(404).send('User not found!');
}
});
การใช้ Centralized Error Middleware
สร้างข้อผิดพลาดแบบรวมศูนย์ middleware เพื่อจัดการข้อผิดพลาดที่เกิดจากไฟล์ route.
app.use((req, res, next) => {
const error = new Error('Not found');
error.status = 404;
next(error);
});
app.use((err, req, res, next) => {
res.status(err.status || 500);
res.send(err.message || 'Something went wrong');
});
การจัดการข้อผิดพลาดแบบอะซิงโครนัส
ในกรณีของการจัดการแบบอะซิงโครนัส ให้ใช้ next
วิธีส่งข้อผิดพลาดไปยังการจัดการข้อผิดพลาด middleware ร่วม
app.get('/data',(req, res, next) => {
fetchDataFromDatabase((err, data) => {
if(err) {
return next(err);
}
res.json(data);
});
});
บทสรุป
การจัดการข้อผิดพลาดเป็นส่วนสำคัญของ Express.js การพัฒนาแอปพลิเคชัน ด้วยการใช้ middleware จัดการข้อผิดพลาดเฉพาะ และให้ข้อความตอบกลับที่เหมาะสม คุณสามารถสร้างประสบการณ์การใช้งานแอปพลิเคชันที่ราบรื่นและเชื่อถือได้สำหรับผู้ใช้ของคุณ