Thuộc tính đối tượng ngoại lệ trong JavaScript

Hiểu cách đọc các đối tượng lỗi là rất quan trọng để bạn có thể gỡ lỗi mã và sửa lỗi của mình. Trong bài viết này, chúng tôi sẽ xem xét một số lỗi chính với các ví dụ mà bạn có thể gặp phải

Đối tượng lỗi là gì?

Các đối tượng lỗi trong JavaScript chứa một tập hợp các thuộc tính giúp chúng ta hiểu rõ hơn vấn đề, các thuộc tính này là

  • Tên. loại lỗi
  • Thông điệp. Mô tả lỗi
  • Tên tệp. Tên của tệp chứa lỗi
  • Số dòng. Số dòng lỗi

Trong hình trên, ReferenceError là tên lỗi; . Sau đó, ở ngoài cùng bên phải, chúng tôi có tên tệp và số dòng. Trong ví dụ này, đây là VM56. 1 vì lỗi được tạo trong bảng điều khiển

Có một số loại đối tượng lỗi tích hợp và việc hiểu những loại này sẽ giúp bạn hiểu vấn đề nhanh hơn. Dưới đây là những cái bạn có nhiều khả năng nhìn thấy nhất

  • Lỗi
  • Lỗi cú pháp
  • Tham khảoLỗi
  • LoạiLỗi
  • phạm vi lỗi
  • Lỗi URI
  • Lỗi

Lỗi

Lỗi là nguyên mẫu đối tượng mà tất cả các đối tượng lỗi ở trên được tạo ra từ đó. Chúng ta có thể sử dụng điều này để tạo các đối tượng lỗi của riêng mình

let ourError = new Error('Some custom error message');
throw ourError;
//Returns ---> Uncaught Error: Some custom error message
at :1:16

Chúng tôi cũng có thể mở rộng điều này hơn nữa và thêm một số thuộc tính bổ sung vào đối tượng lỗi của chúng tôi

let ourError = new Error('Some custom error message');
ourError.name = 'ValidationError';
console.log(ourError);
ValidationError: Some custom error message
at :1:16

Lỗi cú pháp

Chúng tôi nhận được lỗi cú pháp khi mã không đúng về mặt cú pháp và công cụ JavaScript không thể phân tích cú pháp mã. Thường thì điều này có thể đơn giản như một lỗi đánh máy. Hãy xem xét một số ví dụ

let ourString = "a string';
//Returns ---> Uncaught SyntaxError: Invalid or unexpected token

Ví dụ trên trả về lỗi do trộn dấu ngoặc kép

console.log('a'
//Returns ---> Uncaught SyntaxError: missing ) after argument list

Ví dụ trên trả về lỗi do thiếu dấu ngoặc đơn đóng

let ourObject = {
person one: "Bob"
};
//Returns ---> Uncaught SyntaxError: Unexpected identifier

Ví dụ trên trả về lỗi do khoảng cách không chính xác trong key person one

let ourArray = [1 2, 3];
//Returns Uncaught SyntaxError: Unexpected number

Ví dụ trên trả về lỗi do thiếu dấu phẩy giữa phần tử 1 và 2

Lỗi tham chiếu

Lỗi tham chiếu xảy ra khi chúng tôi cố gắng truy cập một biến hoàn toàn không tồn tại hoặc nó không tồn tại trong phạm vi mà chúng tôi đang cố gắng truy cập nó từ đó. Hãy xem xét một số ví dụ

let one = 1;
let sum = one + two;
// Returns ---> Uncaught ReferenceError: two is not defined

Trong ví dụ trên, chúng ta gặp lỗi vì sum đang cố gắng thêm một biến có tên là một vào một biến có tên là hai nhưng chúng ta chỉ khai báo một biến có tên là một

console.log(aFunction());
//Returns ---> Uncaught ReferenceError: aFunction is not defined

Ví dụ trên trả về lỗi vì chúng tôi đang cố gọi một hàm trong bảng điều khiển. log được gọi là aFunction nhưng chúng tôi chưa bao giờ khai báo chức năng này

LoạiLỗi

Lỗi loại thường được hiển thị khi chúng tôi cố gắng sử dụng một phương thức không tồn tại hoặc khi một hoạt động nhất định không thể chạy

________số 8

Chúng tôi gặp lỗi trong ví dụ trên vì chúng tôi đang cố gắng sử dụng một phương thức được gọi là one trên đối tượng otherObject nhưng phương thức này không tồn tại

Window.open();
//Returns ---> Uncaught TypeError: Window.open is not a function
window.Open();
//Returns ---> Uncaught TypeError: window.Open is not a function

Cả hai ví dụ trên đều sử dụng cách viết hoa không chính xác cho ví dụ đầu tiên. Cửa sổ trái ngược với cửa sổ. Đối với ví dụ thứ hai Mở trái ngược với mở

phạm vi lỗi

Chúng tôi gặp lỗi phạm vi khi cố gắng truy cập một số nằm ngoài phạm vi dự kiến. Các ví dụ dưới đây sẽ giải thích điều này nhiều hơn

let ourError = new Error('Some custom error message');
ourError.name = 'ValidationError';
console.log(ourError);
ValidationError: Some custom error message
at :1:16
0

Trong ví dụ trên, chúng ta gặp lỗi vì không thể tạo mảng có -10 mục

let ourError = new Error('Some custom error message');
ourError.name = 'ValidationError';
console.log(ourError);
ValidationError: Some custom error message
at :1:16
1

Chúng tôi gặp lỗi trong ví dụ trên vì chúng tôi không thể chuyển 211 sang tham số toFixed

let ourError = new Error('Some custom error message');
ourError.name = 'ValidationError';
console.log(ourError);
ValidationError: Some custom error message
at :1:16
2

Trong ví dụ trên, chúng ta gặp lỗi vì không thể truyền 200 vào tham số của phương thức toPrecision

Lỗi URI

Khi mã hóa hoặc giải mã hoặc URI không hoạt động, chúng ta sẽ thấy URIError

let ourError = new Error('Some custom error message');
ourError.name = 'ValidationError';
console.log(ourError);
ValidationError: Some custom error message
at :1:16
3

Trong ví dụ trên, chúng tôi gặp lỗi do mã hóa ký tự không hợp lệ được sử dụng

Tôi hy vọng bạn thích bài viết này, xin vui lòng gửi bất kỳ nhận xét, câu hỏi hoặc phản hồi nào và theo dõi tôi để biết thêm nội dung

Thêm nội dung bằng tiếng Anh. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Nhận quyền truy cập độc quyền để viết các cơ hội và lời khuyên trong cộng đồng của chúng tôi Discord

Đối tượng ngoại lệ trong JavaScript là gì?

Xử lý ngoại lệ là một trong những tính năng mạnh mẽ của JavaScript để xử lý lỗi và duy trì luồng mã/chương trình JavaScript thông thường. Một ngoại lệ là một đối tượng có giải thích về những gì đã xảy ra . Ngoài ra, nó phát hiện ra vấn đề xảy ra ở đâu.

Đối tượng lỗi có những thuộc tính nào?

Đối tượng Lỗi trong tất cả các trình duyệt đều hỗ trợ hai thuộc tính sau. Tên. Tên của lỗi, hay cụ thể hơn, tên của hàm khởi tạo mà lỗi thuộc về. thông điệp. Mô tả lỗi, với mô tả này khác nhau tùy thuộc vào trình duyệt

Các thuộc tính của một lỗi JavaScript là gì?

JavaScript sẽ thực sự tạo một đối tượng Lỗi với hai thuộc tính. tên và thông báo .

Đâu không phải là thuộc tính của đối tượng ngoại lệ?

Không giống như các đối tượng RuntimeError, các đối tượng Exception không có các thuộc tính tích hợp cung cấp thông tin về vị trí xảy ra lỗi .