Gỡ lỗi là phần khó nhất của lập trình. Lỗi có thể xuất hiện trong mã của bạn theo nhiều cách khác nhau, cho dù là lỗi cú pháp, lỗi logic hay đáng sợ nhất là lỗi thời gian chạy. Lỗi thời gian chạy xảy ra bất cứ khi nào có điều gì đó không mong muốn xảy ra trong ứng dụng của bạn và chúng thường dẫn đến các sự cố nghiêm trọng có thể làm hỏng chương trình của bạn Show
Giống như nhiều ngôn ngữ, Node. js cung cấp cơ chế dự đoán lỗi trước khi chúng xảy ra. Khi xảy ra lỗi trong mã của bạn, nó sẽ biến thành một đối tượng được gọi là ngoại lệ. Xử lý đúng các trường hợp ngoại lệ này cho phép bạn phục hồi nhanh chóng từ các sự cố không lường trước, mang lại trải nghiệm người dùng tốt hơn nhiều Trong bài đăng này, chúng ta sẽ xem xét nguyên nhân gây ra những lỗi này trong Node. js và cách khôi phục từ chúng Điều gì có thể gây ra lỗi ngoại lệ trong Node. js?Lỗi thời gian chạy có thể xảy ra theo nhiều cách khác nhau. Một ví dụ bao gồm việc tham chiếu đến một biến không xác định hoặc chuyển sai loại cho một đối số Nút chung khác. lỗi js bao gồm
Trong hầu hết các trường hợp, những ngoại lệ này xảy ra ngoài tầm kiểm soát của bạn. Ví dụ: nếu bạn chạy dòng mã sau
Bạn sẽ nhận được lỗi sau
Nút. js ném ngoại lệTuy nhiên, bạn cũng có thể tự mình sửa lỗi
Tại sao bạn muốn làm điều này? . Ví dụ: giả sử bạn có một ứng dụng máy tính được viết bằng Node. js và bạn muốn báo lỗi nếu mẫu số trong hàm chia là 0
Tại sao bạn muốn làm điều này? . Nhưng bạn có thể tạo một phân lớp lỗi tùy chỉnh 0Điều này cho phép bạn thiết lập một lỗi phù hợp hơn trong mã 1Nếu bạn tiếp tục khái niệm này, bạn có thể đưa ra lỗi cho bất kỳ loại sự cố nào. So sánh các cách xử lý lỗi sau 2Bằng cách đưa ra ngoại lệ của riêng bạn, lợi ích trước mắt của bạn sẽ là cơ sở mã dễ đọc hơn, như trong trường hợp tuổi và tên ở trên. Tuy nhiên, các lớp lỗi của bạn cũng sẽ hiển thị trong nhật ký và quy trình phân tích dữ liệu, điều này có thể giúp bạn thu hẹp cụ thể những vấn đề có thể xảy ra. Khi cố gắng theo dõi một lỗi, có thể khó để hợp lý hóa ý nghĩa của Lỗi, trái ngược với 7 hoặc 8Bất kể, bắt lỗi như thế này là điều cần thiết trong Node. js. Vì Node chạy trong môi trường không đồng bộ nên một sự kiện xảy ra đôi khi không ảnh hưởng ngay lập tức. Trong ví dụ của chúng tôi ở trên, chúng tôi đã cố gắng dựa vào 9 trong tình huống không tồn tại, tuy nhiên, chương trình sẽ gặp sự cố, nhưng không phải khi chúng tôi mong đợi. Mặt khác, try/catch hoạt động đồng bộ; Làm thế nào để bạn bảo vệ ứng dụng của bạn chống lại các ngoại lệ?Nếu bạn biết lỗi có thể xảy ra ở đâu, bước tiếp theo có thể là ngăn lỗi này gỡ bỏ ứng dụng của bạn hoặc làm phiền người dùng của bạn. Để ngăn chặn điều này, Node. js có một cú pháp đặc biệt được gọi là khối try-catch Đúng như tên gọi của nó, khối try-catch cho phép bạn chạy một đoạn mã và nếu gặp lỗi, sẽ tạm dừng chương trình và cho phép bạn khôi phục. Hãy xem điều đó có thể hoạt động như thế nào trong thực tế với ví dụ 0 trước đây của chúng tôi. Giả sử bạn có một chức năng như thế này 7Bây giờ, chúng tôi không thể đảm bảo rằng 0 sẽ hoạt động trên 2. Có thể đó là 3 hoặc có thể chức năng này được gọi trên một số đầu vào động của người dùng mà chúng tôi không thể kiểm soát. Vì chúng tôi biết rằng chúng tôi có khả năng gặp phải một 4 ở đây, chúng tôi có thể sử dụng khối thử bắt để dự đoán lỗi này và thực hiện một số việc khác 2Nếu không có lỗi thì mã trong khối 5 không bao giờ được thực thi. Hãy nhớ rằng lỗi được cung cấp cho câu lệnh 5 phải khớp với lỗi mà bạn mong đợi, nếu không thì mã đó sẽ không chạy. Thật không may, điều này có thể ngăn mã của bạn bắt lỗi và thử bắt không hoạt độngNếu bạn cho rằng một lỗi có thể xảy ra, nhưng bạn không chắc loại lỗi đó là gì và bạn muốn đảm bảo rằng bạn phát hiện ra bất kỳ lỗi tiềm ẩn nào, bạn chỉ có thể bảo vệ chống lại lớp cơ sở 6 6Vì tất cả các lỗi đều mở rộng lớp cơ sở 6 này, nên nó sẽ phát hiện bất kỳ lỗi nào được ném raMột bổ sung thú vị khác là khả năng thêm câu lệnh 9 vào những dòng này. Ví dụ 0 9 sẽ luôn thực thi ở cuối khối try-catch, bất kể câu lệnh 5 có bắt lỗi hay không. Nó có thể dọn sạch mọi trạng thái còn lại, chẳng hạn như đóng kết nối cơ sở dữ liệu đang mở. Ít nhất một 5 hoặc một 9 phải có mặt trong một khối 4kết thúcCác ngoại lệ và các khối thử bắt không phải là duy nhất đối với Node. Để biết tổng quan cấp cao hơn, bạn có thể xem tài liệu của họ về chủ đề này Chúng ta đã nói rất nhiều về ngoại lệ trong bài viết này. Điều quan trọng cần lưu ý là lỗi vẫn có thể xảy ra với số lượng đáng báo động, bất chấp những nỗ lực tốt nhất của bạn để ngăn chặn chúng. Mã bị nhầm luôn có thể được đưa vào sản xuất và thay vì tạo ra các sự cố về tính khả dụng cho người dùng của bạn, một nền tảng như Rollbar có thể giúp bạn khắc phục các sự cố không lường trước được trước khi chúng trở thành sự cố. Với khả năng giám sát lỗi Node theo thời gian thực, quy trình công việc được hỗ trợ bởi AI và phân tích nguyên nhân gốc rễ, Rollbar có thể bảo vệ ứng dụng của bạn bằng cách dự đoán các sự cố trước khi chúng ảnh hưởng đến người dùng của bạn Theo dõi, phân tích và quản lý lỗi với Rollbar[Thanh cuộn đang hoạt động](https. // thanh cuộn. com/wp-content/uploads/2022/04/section-1-real-time-errors@2x-1-300x202. png) Quản lý lỗi và ngoại lệ trong mã của bạn là một thách thức. Nó có thể làm cho việc triển khai mã sản xuất trở thành một trải nghiệm đáng sợ. Khả năng theo dõi, phân tích và quản lý lỗi trong thời gian thực có thể giúp bạn tiến hành một cách tự tin hơn. Rollbar tự động theo dõi và xử lý lỗi, giúp việc sửa lỗi trở nên dễ dàng hơn bao giờ hết. Thử nó ngay hôm nay Việc ném lỗi có dừng thực thi JavaScript không?Câu lệnh ném đưa ra một ngoại lệ do người dùng định nghĩa. Việc thực thi hàm hiện tại sẽ dừng (các câu lệnh sau khi ném sẽ không được thực thi) và quyền kiểm soát sẽ được chuyển đến khối catch đầu tiên trong lệnh gọi . Nếu không có khối bắt nào tồn tại giữa các chức năng của người gọi, chương trình sẽ kết thúc.
Việc ném một lỗi mới có dừng thực thi không?ném Lỗi mới('đã xảy ra lỗi') — sẽ tạo một phiên bản Lỗi trong JavaScript và dừng thực thi tập lệnh của bạn, trừ khi bạn làm điều gì đó với Lỗi< . .
Điều gì xảy ra khi JavaScript đưa ra lỗi?Khi xảy ra lỗi, JavaScript thường sẽ dừng và tạo thông báo lỗi . Thuật ngữ kỹ thuật cho điều này là. JavaScript sẽ đưa ra một ngoại lệ (ném một lỗi). JavaScript sẽ thực sự tạo một đối tượng Lỗi có hai thuộc tính. tên và tin nhắn.
Có chức năng kết thúc lỗi ném không?Có, đúng đấy . Nó tạo ra một ngoại lệ đi lên ngăn xếp cuộc gọi. |