Đối tượng ngoại lệ trong JavaScript là gì?
Ứng dụng của bạn trở nên mạnh mẽ hơn khi bạn có kinh nghiệm lập trình. Các cải tiến đối với kỹ thuật mã hóa đóng một vai trò quan trọng nhưng bạn cũng sẽ học cách xem xét các trường hợp cạnh. Nếu một cái gì đó có thể đi sai, nó sẽ đi sai. thông thường khi người dùng đầu tiên truy cập hệ thống mới của bạn Show
Một số lỗi có thể tránh được
Các lỗi thời gian chạy khác là không thể tránh được
Đây có thể là tạm thời. Bạn không nhất thiết phải mã hóa theo cách của mình để thoát khỏi những vấn đề này nhưng bạn có thể lường trước các vấn đề, thực hiện các hành động thích hợp và làm cho ứng dụng của bạn linh hoạt hơn Hiển thị lỗi là phương sách cuối cùngTất cả chúng ta đều gặp lỗi trong các ứng dụng. Một số hữu ích “Tệp đã tồn tại. Bạn có muốn ghi đè lên nó không?” Những người khác thì ít hơn “LỖI 5969” Hiển thị lỗi cho người dùng phải là biện pháp cuối cùng sau khi sử dụng hết tất cả các tùy chọn khác Bạn có thể bỏ qua một số lỗi ít nghiêm trọng hơn như hình ảnh không tải được. Trong các trường hợp khác, có thể thực hiện các hành động khắc phục hoặc phục hồi. Ví dụ: nếu bạn không thể lưu dữ liệu vào máy chủ do lỗi mạng, bạn có thể lưu trữ tạm thời dữ liệu đó trong IndexedDB hoặc localStorage và thử lại sau vài phút. Chỉ cần hiển thị cảnh báo khi lưu nhiều lần không thành công và người dùng có nguy cơ mất dữ liệu. Thậm chí sau đó. đảm bảo người dùng có thể thực hiện các hành động phù hợp. Họ có thể kết nối lại với mạng nhưng điều đó sẽ không hữu ích nếu máy chủ của bạn ngừng hoạt động Xử lý lỗi trong JavaScriptXử lý lỗi đơn giản trong JavaScript nhưng nó thường bị che giấu trong bí ẩn và có thể trở nên phức tạp khi xem xét mã không đồng bộ Một “lỗi” là một đối tượng mà bạn có thể ném ra để đưa ra một ngoại lệ — có thể tạm dừng chương trình nếu nó không được nắm bắt và xử lý một cách thích hợp. Bạn có thể tạo một đối tượng 8 bằng cách chuyển một thông báo tùy chọn tới hàm tạo
Bạn cũng có thể sử dụng 8 giống như một hàm không có 0 — nó vẫn trả về một đối tượng 8 giống hệt như trên
Bạn có thể chuyển tên tệp và số dòng làm tham số thứ hai và thứ ba
Điều này hiếm khi cần thiết vì chúng mặc định cho dòng mà bạn đã tạo đối tượng 8 trong tệp hiện tạiSau khi được tạo, một đối tượng 8 có các thuộc tính sau mà bạn có thể đọc và viết
Các thuộc tính đọc/ghi sau đây cũng được hỗ trợ trong Firefox
Các loại lỗiCũng như một 8 chung, JavaScript hỗ trợ các loại lỗi cụ thể
Trình thông dịch JavaScript sẽ đưa ra các lỗi thích hợp khi cần thiết. Trong hầu hết các trường hợp, bạn sẽ sử dụng 8 hoặc có lẽ là 8 trong mã của riêng bạnNém một ngoại lệTạo một đối tượng 8 không tự làm gì cả. Bạn phải sử dụng câu lệnh 7 để, bạn biết đấy, “ném” một 8 để đưa ra một ngoại lệ
Hàm 9 này đưa ra một giá trị 8 khi một trong hai đối số không phải là số — hàm 1 không bao giờ được thực thi
Thực tế để 7 một đối tượng 8 nhưng bạn có thể sử dụng bất kỳ giá trị hoặc đối tượng nào
Khi bạn 7 một ngoại lệ, nó sẽ nổi lên ngăn xếp cuộc gọi - trừ khi nó bị bắt. Các ngoại lệ chưa được xử lý cuối cùng sẽ đạt đến đỉnh của ngăn xếp nơi chương trình sẽ tạm dừng và hiển thị lỗi trong bảng điều khiển DevTools, e. g
Bắt ngoại lệBạn có thể bắt ngoại lệ trong một khối 5
Điều này thực thi mã trong khối 6, nhưng khi một ngoại lệ xảy ra, khối 7 sẽ nhận đối tượng được trả về bởi khối 7Một câu lệnh 9 có thể phân tích lỗi và phản ứng tương ứng, e. g
Bạn có thể xác định một khối 0 tùy chọn nếu bạn yêu cầu mã chạy cho dù mã 1 hoặc 9 có thực thi hay không. Điều này có thể hữu ích khi dọn dẹp, e. g. để đóng kết nối cơ sở dữ liệu trong Node. js hoặc Deno
Khối 1 yêu cầu khối 9, khối 5 hoặc cả haiLưu ý rằng khi một khối 5 chứa một 1, giá trị đó sẽ trở thành giá trị trả về cho toàn bộ 8 bất kể có bất kỳ câu lệnh 1 nào trong các khối 1 và 9Phát lại phiên mã nguồn mởOpenReplay là bộ phát lại phiên mã nguồn mở cho phép bạn xem những gì người dùng làm trên ứng dụng web của bạn, giúp bạn khắc phục sự cố nhanh hơn. OpenReplay tự lưu trữ để kiểm soát hoàn toàn dữ liệu của bạn Bắt đầu tận hưởng trải nghiệm sửa lỗi của bạn - bắt đầu sử dụng OpenReplay miễn phí Các khối throw 'Error string'; throw 42; throw true; throw { message: 'An error', name: 'CustomError' };5 lồng nhau và lỗi ném lạiMột ngoại lệ nổi bong bóng lên ngăn xếp và chỉ bị bắt một lần bởi khối 9 gần nhất, e. g 0Bất kỳ khối 9 nào cũng có thể 7 một ngoại lệ mới bị chặn bởi khối 9 bên ngoài. Bạn có thể truyền đối tượng 8 đầu tiên cho một 8 mới trong thuộc tính 9 của một đối tượng được truyền cho hàm tạo. Điều này làm cho nó có thể nâng cao và kiểm tra một chuỗi các lỗiCả hai khối 9 đều thực thi trong ví dụ này vì lỗi đầu tiên gây ra lỗi thứ hai 1Ném ngoại lệ trong các hàm không đồng bộBạn không thể 9 một ngoại lệ được đưa ra bởi một hàm không đồng bộ vì nó được đưa ra sau khi khối 5 đã hoàn tất thực thi. Điều này sẽ thất bại 2Sau khi một giây trôi qua, bảng điều khiển hiển thị 3Nếu bạn đang sử dụng một cuộc gọi lại, quy ước được coi là trong các khung và thời gian chạy như Node. js là trả về lỗi làm tham số đầu tiên cho hàm đó. Điều này không 7 ngoại lệ mặc dù bạn có thể làm điều đó theo cách thủ công khi cần thiết 4Trong ES6 hiện đại, tốt hơn hết là trả lại Promise khi xác định các hàm không đồng bộ. Khi xảy ra lỗi, phương thức 4 của Promise có thể trả về một đối tượng 8 mới (mặc dù có thể có bất kỳ giá trị hoặc đối tượng nào) 5Phương thức 6 thực thi khi truyền một tham số 7 không hợp lệ để nó có thể phản ứng với đối tượng 8 được trả về 6Bất kỳ hàm nào trả về 9 đều có thể được gọi bởi hàm 0 bằng cách sử dụng câu lệnh 1. Bạn có thể chứa cái này trong một khối 5 chạy giống hệt với ví dụ về lời hứa của ________ 54_______3/________ 54 _______4 ở trên nhưng có thể dễ đọc hơn một chút 7Lỗi là không thể tránh khỏiDễ dàng tạo đối tượng lỗi và tăng ngoại lệ trong JavaScript. Phản ứng thích hợp và xây dựng các ứng dụng linh hoạt có phần khó khăn hơn. Lời khuyên tốt nhất. mong đợi những điều bất ngờ và xử lý lỗi càng sớm càng tốt Làm cách nào để sử dụng ngoại lệ trong JavaScript?Cách xử lý ngoại lệ trong JavaScript . Câu lệnh try-catch-finally là một đoạn mã hoặc chương trình xử lý các trường hợp ngoại lệ Mệnh đề try chạy mã tạo ngoại lệ Mệnh đề catch bắt các ngoại lệ được ném ra Một mệnh đề cuối cùng luôn luôn được thực hiện Câu lệnh ném tạo ra ngoại lệ Làm cách nào để giải quyết lỗi đối tượng đối tượng trong JavaScript?Để khắc phục điều này, bạn có thể sử dụng JSON. phương thức stringify() để thay đổi đối tượng thành một chuỗi có thể bật lên trong trình duyệt bằng phương thức alert() .
Bất kỳ đối tượng có thể được ném như một ngoại lệ?Bạn không thể ném bất kỳ đối tượng nào dưới dạng ngoại lệ , tuy nhiên, chỉ những đối tượng có lớp xuống từ Throwable. Throwable đóng vai trò là lớp cơ sở cho toàn bộ họ các lớp, được khai báo trong java. lang , để chương trình của bạn có thể khởi tạo và ném.
Làm cách nào để đọc đối tượng lỗi trong JavaScript?Hai cách. . Một số lỗi ném ra các lớp con cụ thể của Error , mà bạn có thể kiểm tra bằng error instanceof SomeErrorClass. JSON. stringify ném TypeError nếu nó không thể tuần tự hóa đối số của nó (nếu bạn có tùy chỉnh. . Bất kỳ trường hợp nào của Lỗi hoặc các lớp con của nó sẽ có một. thông điệp ; |