Giới Thiệu Chung Về Đối Tượng Lỗi Trong JavaScript
Trong JavaScript, các đối tượng Error được tạo ra và ném ra khi xảy ra các lỗi trong quá trình thực thi mã lệnh. Đối tượng Error cũng có thể được sử dụng làm đối tượng cơ sở cho các ngoại lệ do người dùng định nghĩa. Bài viết này sẽ đi sâu vào cấu trúc, các loại lỗi phổ biến và cách xử lý chúng một cách hiệu quả, giúp bạn trở thành một lập trình viên JavaScript vững vàng hơn.
Phân Loại Các Loại Lỗi Trong JavaScript
JavaScript cung cấp nhiều loại lỗi tích hợp sẵn, mỗi loại đại diện cho một tình huống lỗi cụ thể. Việc hiểu rõ các loại lỗi này là bước đầu tiên để xử lý chúng hiệu quả.
1. Error (Lỗi Chung)
Đây là đối tượng lỗi cơ bản nhất. Khi một lỗi không thuộc các loại chuyên biệt hơn xảy ra, một đối tượng Error sẽ được tạo ra.
2. EvalError
Lỗi này xảy ra khi có vấn đề với hàm eval() toàn cục, ví dụ như cố gắng thực thi một chuỗi mã không hợp lệ.
3. RangeError
Xảy ra khi một biến hoặc tham số số học nằm ngoài phạm vi giá trị hợp lệ của nó. Ví dụ, cố gắng tạo một mảng với độ dài âm.
4. ReferenceError
Lỗi này xuất hiện khi bạn cố gắng truy cập vào một biến hoặc thuộc tính không tồn tại hoặc chưa được định nghĩa.
5. SyntaxError
Thông báo cho bạn biết rằng có lỗi cú pháp trong mã JavaScript của bạn, khiến trình thông dịch không thể phân tích cú pháp.
6. TypeError
Xảy ra khi một biến hoặc tham số không có kiểu dữ liệu hợp lệ cho thao tác đang được thực hiện. Ví dụ, gọi một hàm trên một biến không phải là hàm.
7. URIError
Liên quan đến các hàm mã hóa và giải mã URI như encodeURI() hoặc decodeURI(). Lỗi này xảy ra khi các tham số truyền vào không hợp lệ.
8. AggregateError
Được sử dụng khi một hoạt động cần báo cáo nhiều lỗi cùng lúc, ví dụ như trong Promise.any(). Lỗi này nhóm các lỗi riêng lẻ lại với nhau.
9. InternalError
Lỗi này xuất hiện từ chính engine JavaScript, thường là do các vấn đề nội bộ như đệ quy quá sâu.
Cấu Trúc Của Đối Tượng Error
Mỗi đối tượng Error thường bao gồm các thuộc tính quan trọng sau:
name: Tên của loại lỗi (ví dụ: “TypeError”, “ReferenceError”).message: Mô tả chi tiết về lỗi đã xảy ra.stack(phi tiêu chuẩn): Cung cấp thông tin về chuỗi các lời gọi hàm dẫn đến lỗi, hữu ích cho việc gỡ lỗi.cause: (Mới hơn) Chỉ ra lỗi gốc đã gây ra lỗi hiện tại, cho phép theo dõi chuỗi lỗi.
Các Phương Thức Và Thuộc Tính Quan Trọng Khác
Error()constructor: Dùng để tạo một đối tượngErrormới.Error.captureStackTrace(): Một phương thức không chuẩn giúp tạo thuộc tínhstack.Error.isError(): Kiểm tra xem một đối tượng có phải là lỗi hay không.Error.prototype.toString(): Trả về một chuỗi biểu diễn đối tượng lỗi.
Xử Lý Lỗi Hiệu Quả Trong JavaScript
1. Sử Dụng Khối try...catch
Đây là cơ chế cơ bản nhất để bắt và xử lý lỗi. Mã có khả năng gây lỗi được đặt trong khối try, và nếu lỗi xảy ra, khối catch sẽ thực thi để xử lý nó.






