⊗jsSpExcInr 137 of 294 menu

Giới thiệu về các tình huống ngoại lệ trong JavaScript

Bây giờ chúng ta sẽ xem xét các tình huống ngoại lệ trong JavaScript. Đầu tiên, tôi sẽ thực hiện một số phần giới thiệu, trong đó sẽ có các ví dụ về tình huống ngoại lệ nói chung cho bất kỳ ngôn ngữ lập trình nào, và sau đó chúng ta sẽ tìm hiểu, tình hình diễn ra thế nào trong JavaScript.

Khi chúng ta viết chương trình của mình, chúng ta ngầm tính đến việc tất cả các cơ chế kỹ thuật-phần mềm được chúng ta sử dụng sẽ hoạt động chính xác.

Tuy nhiên, điều này không phải lúc nào cũng đúng. Khi truyền dữ liệu qua mạng, kết nối bị đứt và dữ liệu đến với chúng ta ở dạng không chính xác, hoặc thậm chí không đến. Khi ghi tệp, hóa ra là không gian được cấp phát trên ổ cứng cho chúng ta đã hết, và tệp không thể ghi được. Khi đọc tệp, hóa ra là tệp như vậy không tồn tại và chúng ta không có gì để đọc. Khi in dữ liệu ra máy in thì xảy ra đứt cáp kết nối máy in và máy tính.

Tất cả các tình huống được mô tả đều có bản chất chung: xảy ra một sự cố nào đó, dẫn đến không thể hoặc vô nghĩa khi hoàn thành thao tác đã lên kế hoạch.

Cũng có những tình huống, trong đó xảy ra một lỗi nào đó, không phải là sự cố. Ví dụ, bạn hỏi người dùng email của họ, và họ nhập email ở định dạng không chính xác. Rõ ràng là chương trình của chúng ta không thể tiếp tục xử lý email, vì nó không chính xác. Nhưng, tuy nhiên, đây - không phải là tình huống ngoại lệ. Chương trình của chúng ta có thể tự khắc phục tình huống: nó sẽ hiển thị thông báo lỗi và người dùng sẽ nhập lại.

Trên thực tế, ranh giới giữa sự cố và không phải sự cố khá mơ hồ. Một sự kiện mà một chương trình có thể coi là tình huống ngoại lệ, chương trình khác có thể coi là một lỗi nào đó mà nó có thể tự xử lý được.

Tiêu chí ở đây như sau: nếu khi vấn đề phát sinh, chương trình của bạn có thể tiếp tục thực hiện điều mà nó được thiết kế để làm, thì đây không phải là tình huống ngoại lệ, còn nếu không thể - thì vâng, đây là ngoại lệ.

Ví dụ, chúng ta có một chương trình cần hỏi email của người dùng. Nếu người dùng nhập email ở định dạng không chính xác - đây không phải là sự cố. Đây là vấn đề có thể dự đoán được và chương trình của chúng ta sẽ hỏi người dùng email bao nhiêu lần đi nữa, cho đến khi họ nhập chính xác.

Giả sử chương trình của chúng ta, chương trình hỏi email, cũng phải gửi email chính xác này qua internet. Và hóa ra là internet không hoạt động. Đây mới là vấn đề: chương trình không thể nào gửi dữ liệu qua internet được, nếu internet không hoạt động. Tuy nhiên, chương trình có thể tiếp tục thực thi của mình: nó có thể hiển thị thông tin về vấn đề, thử lại việc gửi sau một khoảng thời gian, v.v. Nhưng những hành động này không hoàn toàn là điều mà chương trình được thiết kế để làm, vì hành động chính - gửi email - chương trình sẽ không thể thực hiện được.

Rất thường xuyên, việc một tình huống có phải là ngoại lệ hay không, phụ thuộc vào ngôn ngữ lập trình. Trong nhiều ngôn ngữ, nếu đột nhiên xảy ra phép chia cho không - điều này được coi là ngoại lệ (vì không thể chia cho không), nhưng trong JavaScript - thì không (trong JavaScript có thể chia cho không).

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối