Error Handling ใน Koa.js
Created At :
Views 👀 :
การจัดการข้อผิดพลาด (Error Handling) ใน Koa.js นั้นมีหลายวิธีที่คุณสามารถทำได้ ต่อไปนี้คือวิธีการจัดการข้อผิดพลาดที่พบบ่อยใน Koa.js:
- try…catch: คุณสามารถใช้คำสั่ง
try...catch
เพื่อจับข้อผิดพลาดภายใน middleware และทำการจัดการข้อผิดพลาดได้ตามต้องการ ตัวอย่างเช่น:
1 2 3 4 5 6 7 8 9 10 11 12 13
| app.use(async (ctx, next) => { try { await next(); } catch (error) { ctx.status = error.status || 500; ctx.body = { error: error.message }; } });
app.use(async (ctx, next) => { throw new Error("มีข้อผิดพลาดบางอย่างเกิดขึ้น"); });
|
- การใช้ Middleware สำหรับ Error Handling: คุณสามารถสร้าง middleware แบบเฉพาะเพื่อจัดการข้อผิดพลาด โดยให้มีตัวแยกข้อผิดพลาดอย่างชัดเจน ตัวอย่าง:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| app.use(async (ctx, next) => { try { await next(); } catch (error) { ctx.status = error.status || 500; ctx.body = { error: error.message }; } });
app.use(async (ctx, next) => { throw new Error("มีข้อผิดพลาดบางอย่างเกิดขึ้น"); });
app.use(async (ctx, next) => { try { await next(); } catch (error) { } });
|
- การใช้ ctx.throw(): Koa.js มีเมธอด
ctx.throw(status, message)
ที่คุณสามารถใช้ในการสร้างและส่งข้อผิดพลาดไปยัง client ได้โดยตรง:
1 2 3 4 5 6 7
| app.use(async (ctx, next) => { try { await next(); } catch (error) { ctx.throw(500, "เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์"); } });
|
การจัดการข้อผิดพลาดใน Koa.js นั้นควรทำให้ระบบแสดงข้อผิดพลาดอย่างเหมาะสมและป้องกันการรั่วข้อมูลรายละเอียดของข้อผิดพลาดออกไปยัง client โดยไม่จำเป็น คุณสามารถแก้ไขและปรับแต่งการจัดการข้อผิดพลาดตามความต้องการของแอปพลิเคชันของคุณได้.