Lỗi "chia cho 0" trong lập trình ai cũng biết. Trong các ngôn ngữ cấp thấp, nó khiến chương trình bị lỗi và khởi động lại. Khi những người khác thất bại, JavaScript tiếp tục hoạt động Show
Hãy thử thực thi mã này trong bảng điều khiển trình duyệt của bạn. Bạn sẽ thấy 1 hiển thị trên màn hình của mình. Đối với những người đã nghiên cứu sâu hơn về toán học (xin chào, các chuyên gia toán học. ), đây không phải là một bất ngờ. Chia cho số không tạo ra vô hạn. Vô cực trong JavaScript là một số thực và bạn có thể thực hiện nhiều thao tác khác nhau với nó. Trong các bài toán hàng ngày, điều này không có ý nghĩa gì, vì hầu hết các phép toán với vô cực đều kết thúc bằng vô cực, ví dụ, khi chúng ta thêm một số vào vô cùng, chúng ta sẽ nhận được vô cùng
Tuy nhiên, có một số ví dụ khi cần đến vô cực. Câu hỏi này được thảo luận chi tiết hơn trên Hexlet Hướng dẫnIn tổng các số vô hạn chia hết cho 10 Bài tập không vượt qua kiểm tra. phải làm gì? Nếu bạn gặp bế tắc, đã đến lúc đặt câu hỏi của bạn trong «Thảo luận». Làm thế nào để đặt một câu hỏi một cách chính xác
Các bài kiểm tra được thiết kế để chúng kiểm tra giải pháp theo những cách khác nhau và dựa trên các dữ liệu khác nhau. Thường thì giải pháp hoạt động với một loại dữ liệu đầu vào nhưng không hoạt động với các loại dữ liệu khác. Kiểm tra tab «Kiểm tra» để tìm ra điều này, bạn có thể tìm thấy các gợi ý ở đầu ra lỗi Mã của tôi khác với mã của giáo viên 🤔Tốt rồi. 🙆 Một nhiệm vụ trong lập trình có thể được giải quyết theo nhiều cách khác nhau. Nếu mã của bạn vượt qua tất cả các bài kiểm tra, thì mã đó tuân thủ các điều kiện của tác vụ Trong một số trường hợp hiếm hoi, giải pháp có thể được điều chỉnh để thử nghiệm, nhưng điều này có thể được nhìn thấy ngay lập tức Tôi đã đọc các bài học nhưng không có gì rõ ràng 🙄Thật khó để tạo ra những tài liệu giáo dục phù hợp với tất cả mọi người. Chúng tôi cố gắng hết sức nhưng luôn có điều gì đó cần cải thiện. Nếu bạn thấy một tài liệu không rõ ràng đối với bạn, hãy mô tả vấn đề trong “Thảo luận”. Sẽ thật tuyệt nếu bạn viết những điểm chưa rõ ràng trong mẫu câu hỏi. Thông thường, chúng tôi cần một vài ngày để sửa chữa Nhân tiện, bạn có thể tham gia cải tiến các khóa học. Có một liên kết bên dưới đến mã khóa học bài học mà bạn có thể chỉnh sửa ngay trong trình duyệt của mình Có ba loại lỗi trong lập trình. (a) Lỗi cú pháp, (b) Lỗi thời gian chạy và (c) Lỗi logic Lỗi cú phápLỗi cú pháp, còn được gọi là lỗi phân tích cú pháp, xảy ra tại thời điểm biên dịch trong các ngôn ngữ lập trình truyền thống và tại thời điểm phiên dịch trong JavaScript Ví dụ: dòng sau gây ra lỗi cú pháp vì thiếu dấu ngoặc đơn đóng Khi một lỗi cú pháp xảy ra trong JavaScript, chỉ mã chứa trong cùng một luồng có lỗi cú pháp bị ảnh hưởng và phần còn lại của mã trong các luồng khác được thực thi giả sử không có gì trong đó phụ thuộc vào mã chứa lỗi Lỗi thời gian chạyLỗi thời gian chạy, còn được gọi là ngoại lệ, xảy ra trong quá trình thực thi (sau khi biên dịch/thông dịch) Ví dụ: dòng sau gây ra lỗi thời gian chạy vì ở đây cú pháp đúng, nhưng khi chạy, nó đang cố gọi một phương thức không tồn tại Các ngoại lệ cũng ảnh hưởng đến luồng mà chúng xảy ra, cho phép các luồng JavaScript khác tiếp tục thực thi bình thường lỗi logicLỗi logic có thể là loại lỗi khó theo dõi nhất. Những lỗi này không phải là kết quả của lỗi cú pháp hoặc thời gian chạy. Thay vào đó, chúng xảy ra khi bạn mắc lỗi logic điều khiển tập lệnh của mình và bạn không nhận được kết quả như mong đợi Bạn không thể bắt những lỗi đó, bởi vì nó phụ thuộc vào yêu cầu kinh doanh của bạn loại logic nào bạn muốn đưa vào chương trình của mình Sự cố gắng. chụp lấy. cuối cùng Tuyên bốCác phiên bản mới nhất của JavaScript đã thêm khả năng xử lý ngoại lệ. JavaScript thực hiện thử. chụp lấy. cuối cùng cũng như toán tử ném để xử lý các ngoại lệ Bạn có thể bắt gặp các ngoại lệ do lập trình viên tạo và thời gian chạy, nhưng bạn không thể bắt lỗi cú pháp JavaScript Đây là thử. chụp lấy. cú pháp chặn cuối cùng - Khối thử phải được theo sau bởi chính xác một khối bắt hoặc một khối cuối cùng (hoặc một trong cả hai). Khi một ngoại lệ xảy ra trong khối thử, ngoại lệ đó được đặt trong e và khối bắt được thực thi. Khối cuối cùng tùy chọn thực thi vô điều kiện sau khi thử/bắt ví dụĐây là một ví dụ mà chúng tôi đang cố gắng gọi một chức năng không tồn tại, do đó sẽ đưa ra một ngoại lệ. Hãy để chúng tôi xem nó hoạt động như thế nào mà không cần thử. bắt-
đầu raBây giờ chúng ta hãy cố gắng nắm bắt ngoại lệ này bằng cách sử dụng try. bắt và hiển thị thông báo thân thiện với người dùng. Bạn cũng có thể chặn thông báo này nếu bạn muốn ẩn lỗi này với người dùng
đầu raBạn có thể sử dụng khối cuối cùng sẽ luôn thực thi vô điều kiện sau lần thử/bắt. Đây là một ví dụ
đầu raTuyên bố némBạn có thể sử dụng câu lệnh ném để tăng ngoại lệ tích hợp hoặc ngoại lệ tùy chỉnh của bạn. Sau đó, những ngoại lệ này có thể được ghi lại và bạn có thể thực hiện hành động thích hợp Thí dụVí dụ sau minh họa cách sử dụng câu lệnh ném
đầu raBạn có thể đưa ra một ngoại lệ trong một hàm bằng cách sử dụng một chuỗi, số nguyên, Boolean hoặc một đối tượng và sau đó bạn có thể nắm bắt ngoại lệ đó trong cùng một hàm như chúng ta đã làm ở trên hoặc trong một hàm khác bằng cách sử dụng lệnh try. bắt khối Phương thức onerror()Trình xử lý sự kiện onerror là tính năng đầu tiên hỗ trợ xử lý lỗi trong JavaScript. Sự kiện lỗi được kích hoạt trên đối tượng cửa sổ bất cứ khi nào có ngoại lệ xảy ra trên trang
đầu raTrình xử lý sự kiện onerror cung cấp ba mẩu thông tin để xác định bản chất chính xác của lỗi -
Dưới đây là ví dụ cho thấy làm thế nào để trích xuất thông tin này Thí dụ 0đầu raBạn có thể hiển thị thông tin được trích xuất theo bất kỳ cách nào bạn cho là tốt hơn Bạn có thể sử dụng phương thức onerror, như hình bên dưới, để hiển thị thông báo lỗi trong trường hợp có bất kỳ sự cố nào khi tải hình ảnh Chia cho 0 có phải là một cái bẫy?Khi thực hiện phép chia số nguyên, bộ xử lý sẽ bẫy khi chia cho 0 .
Giá trị của bất kỳ số nguyên nào chia cho 0 là gì?Việc chia bất kỳ số nguyên nào cho 0 là vô nghĩa . |