try cache
async/await
เมื่อใช้
async/await
ซึ่งเป็นวิธีการเขียนโค้ดอะซิงโครนัสให้เป็นซิงโครนัส คุณสามารถใช้try/catch
เพื่อจัดการข้อผิดพลาดที่เกิดจากการใช้ Promises
js
async function fetchData() {
try {
const response = await someAsyncFunction();
console.log('ข้อมูล:', response);
} catch (error) {
// จัดการข้อผิดพลาด
console.error('เกิดข้อผิดพลาด:', error);
}
}
fetchData();
Error Event
EventEmitter Error Event
คลาส
EventEmitter
ใช้สำหรับจัดการเหตุการณ์ต่าง ๆ รวมถึงข้อผิดพลาด คุณสามารถจับเหตุการณ์error
ได้โดยการฟังเหตุการณ์นี้
js
import { EventEmitter } from 'events';
const emitter = new EventEmitter();
// ฟังเหตุการณ์ error
emitter.on('error', (err) => {
console.error('เกิดข้อผิดพลาด:', err);
});
// สร้างข้อผิดพลาด
emitter.emit('error', new Error('มีข้อผิดพลาดเกิดขึ้น'));
Stream Error Event
ในระบบสตรีมของ Node.js เช่น
Readable
และWritable
streams คุณสามารถจับเหตุการณ์error
ที่เกิดขึ้นในระหว่างการทำงานของสตรีมได้
js
import fs from 'fs';
const readableStream = fs.createReadStream('nonexistentfile.txt');
// ฟังเหตุการณ์ error
readableStream.on('error', (err) => {
console.error('เกิดข้อผิดพลาดในสตรีม:', err);
});
HTTP Server Error Event
สำหรับเซิร์ฟเวอร์ HTTP ที่สร้างด้วย Node.js คุณสามารถจับเหตุการณ์
error
ที่เกิดขึ้นในระหว่างการดำเนินการของเซิร์ฟเวอร์ได้
js
import http from 'http';
const server = http.createServer((req, res) => {
res.end('Hello World');
});
// ฟังเหตุการณ์ error
server.on('error', (err) => {
console.error('เกิดข้อผิดพลาดที่เซิร์ฟเวอร์:', err);
});
// เริ่มเซิร์ฟเวอร์
server.listen(3000, () => {
console.log('Server running at http://127.0.0.1:3000/');
});
Process Error Event
process
ใน Node.js สามารถจับเหตุการณ์uncaughtException
และunhandledRejection
เพื่อจัดการข้อผิดพลาดที่ไม่ได้รับการจัดการ
js
// ฟังเหตุการณ์ uncaughtException
process.on('uncaughtException', (err) => {
console.error('ข้อผิดพลาดที่ไม่ถูกจับ:', err);
process.exit(1); // ออกจากโปรเซสด้วยรหัสข้อผิดพลาด
});
// ฟังเหตุการณ์ unhandledRejection
process.on('unhandledRejection', (reason, promise) => {
console.error('การปฏิเสธที่ไม่ได้รับการจัดการ:', reason);
});