EDWARD NGUYEN

Note / 01

Async Error Handling & Better Programming

Một góc nhìn thực dụng về cách xử lý lỗi bất đồng bộ rõ ràng hơn trong JavaScript.

Published
October 10, 2023
Language
VI
Topics
JAVASCRIPT / DEVELOPMENT

Lỗi không chỉ là catch

Trong một ứng dụng JavaScript, xử lý lỗi tốt không dừng lại ở việc thêm try...catch. Điều quan trọng hơn là xác định nơi lỗi được chuyển đổi thành trạng thái mà người dùng và hệ thống có thể hiểu.

type Result<T> =
  | { ok: true; value: T }
  | { ok: false; error: AppError }

Một lớp ứng dụng nên phân biệt lỗi do dữ liệu đầu vào, lỗi từ dịch vụ bên ngoài và lỗi không mong đợi. Sự phân biệt này giúp log có ích hơn và giao diện đưa ra đúng hành động tiếp theo.

Nguyên tắc nhỏ

  • Chỉ bắt lỗi ở nơi có thể xử lý hoặc bổ sung ngữ cảnh.
  • Không nuốt lỗi bằng một catch rỗng.
  • Trả về thông báo hữu ích nhưng không làm lộ chi tiết nội bộ.
  • Ghi log một lần, tại ranh giới chịu trách nhiệm.

Code tốt không loại bỏ mọi lỗi. Nó làm cho lỗi dễ quan sát, dễ hiểu và dễ phục hồi.

Next noteXây dựng Midjourney Bot cho Telegram