Khối thử bắt JavaScript là trình xử lý lỗi. Khối "thử" chứa mã bạn muốn kiểm tra. “Catch” chứa mã sẽ chạy nếu mã trong khối “try” của bạn không thể thực thi thành công.
Khi các nhà phát triển đang thử nghiệm chương trình của họ, thông thường người ta thường viết mã để xử lý lỗi theo một cách nhất định. Điều này dễ chịu hơn là cho phép chương trình gặp sự cố, điều này sẽ gây ra lỗi lập trình xuất hiện trong chương trình của họ. Ví dụ:bạn có thể muốn người dùng nhìn thấy thông báo “Vui lòng thử lại sau” thay vì một nhật ký lỗi dài.
Đó là nơi xuất hiện các khối try / catch. Các khối try / catch cho phép bạn xử lý lỗi một cách khéo léo để các sự cố mã hóa không làm hỏng toàn bộ chương trình. Trong hướng dẫn này, chúng tôi sẽ trình bày cách sử dụng các khối thử / bắt và thảo luận về cách chúng hữu ích.
Trình làm mới xử lý lỗi
Mọi nhà phát triển đều mắc lỗi trong mã của họ vì có rất nhiều cách mà một chương trình có thể bị hỏng.
Khi gặp lỗi trong JavaScript, chương trình thường dừng và in lỗi ra bảng điều khiển. Điều này rất hữu ích vì bạn có thể biết lỗi gì, nhưng những người dùng gặp lỗi không có khả năng hiểu được lỗi đó.
Đó là lý do tại sao điều quan trọng là phải đưa các quy trình xử lý lỗi vào mã của bạn. Bằng cách bao gồm một trình xử lý lỗi, bạn có thể tùy chỉnh cách chương trình của mình phản hồi nếu gặp lỗi. Do đó, trình xử lý lỗi cho phép bạn quyết định thông báo mà người dùng nhìn thấy khi gặp lỗi hoặc cách bạn được thông báo về sự cố.
JavaScript thử bắt
Khối JavaScript try catch xác định lỗi trong một khối mã được chỉ định. Nội dung của khối "bắt" sẽ chạy nếu có lỗi trong mã trong khối "thử" của bạn. Bạn cũng có thể sử dụng khối “cuối cùng” để chạy mã cho dù chương trình của bạn có thực thi thành công hay không.
Đây là cú pháp cho quy trình thử / bắt:
81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.
Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.
try { // Your code here console.log(“The code works!”); } catch (e) { console.log(“There is a problem in my code!”); }
Có hai câu lệnh trong khối của chúng tôi:
- thử {}.
- bắt (e) {}.
Đoạn mã trong câu lệnh “try” là những gì chương trình sẽ cố gắng chạy. Trong trường hợp này, chương trình của chúng tôi cố gắng in “ Mã này hoạt động” vào bảng điều khiển. Mã được bao gồm trong catch câu lệnh chạy nếu và khi một lỗi được trả lại trong try của bạn tuyên bố.
Giá trị (e) trong câu lệnh catch đại diện cho lỗi khiến mã trong câu lệnh “try” của bạn không thành công. Bạn có thể quyết định in ra giá trị của “e” để có thể xem nguyên nhân gốc rễ của lỗi đã dừng mã của bạn.
thử bắt Ví dụ JavaScript
Để minh họa các khối thử / bắt đang hoạt động, hãy sử dụng một ví dụ. Trong ví dụ dưới đây, chúng tôi đã viết sai chính tả một tên biến JavaScript trong mã của chúng tôi.
let ourVariable = “Test”; console.log(ourVarible);
Mã của chúng tôi trả về:
ReferenceError: ourVarible is not defined
Đây là lỗi mặc định được trả về khi không tìm thấy biến. Nhưng nếu người dùng gặp lỗi này thì sao? Họ có thể sẽ bị nhầm lẫn. Bây giờ, hãy thử mã của chúng tôi bằng cách sử dụng khối thử / bắt:
let ourVariable = “Test”; try { console.log(ourVarible); } catch (e) { console.log(“There is a problem!”) }
Mã của chúng tôi trả về:
There is a problem!
Mã của chúng tôi chứa cùng một ReferenceError như chúng ta đã thấy ở trên. Nhưng thay vì trả về lỗi mặc định dài và phức tạp, chương trình của chúng tôi trả về những gì chúng tôi đã chỉ định trong catch khối. Mã của chúng tôi ghi lại lỗi, nhưng thay vào đó, chương trình trả về lỗi tùy chỉnh của chúng tôi.
Khối bắt theo dõi lỗi của chúng ta trong đối số “e”, nếu chúng ta muốn, chúng ta vẫn có thể truy cập vào lỗi được trả về. Dưới đây là một ví dụ về chương trình trả về giá trị “e”:
let ourVariable = “Test”; try { console.log(ourVarible); } catch (e) { console.log(“There is a problem! Here is the error message from the code:”, e) }
Mã của chúng tôi trả về như sau:
There is a problem! Here is the error message from the code: ReferenceError: ourVarible is not defined.
Bây giờ mã của chúng tôi báo lỗi cho chúng tôi và cũng hiển thị thông báo lỗi do chương trình đưa ra.
Cần lưu ý rằng catch mệnh đề là tùy chọn. Nếu bạn không muốn chương trình của mình không làm gì nếu gặp lỗi, bạn chỉ cần đính kèm mã của mình trong một thử khối.
JavaScript thử bắt Mệnh đề cuối cùng
Có một mệnh đề nữa mà chúng ta có thể thêm vào mã của mình:cuối cùng. Cuối cùng, là một mệnh đề tùy chọn như catch , và cho phép chúng tôi chạy mã ngay cả khi gặp lỗi. Dưới đây là một ví dụ về mệnh đề try / catch / last đang hoạt động:
let ourVariable = "Test"; try { console.log(ourVarible); } catch (e) { console.log("There is a problem! Here is the error message from the code:", e) } finally { console.log("The code has been run!") }
Đây là những gì chương trình của chúng tôi trả về:
TypeError: Your variable is not a string! The code has been run!
Mã của chúng tôi gặp lỗi nên mã nằm trong catch của chúng tôi mệnh đề được chạy. Điều này trả về TypeError mà chúng ta thấy ở trên. Sau khi lỗi đã được xử lý, mã trong cuối cùng của chúng tôi khối được chạy, khối này sẽ in ra Mã này đã được chạy!
Kết luận
Bạn có thể sử dụng mệnh đề try / catch trong JavaScript để kiểm tra mã của mình. Nội dung của câu lệnh catch sẽ chạy nếu câu lệnh try của bạn không thể thực thi thành công. Một câu lệnh cuối cùng thực thi ngay sau câu lệnh try hoặc catch.
Nếu bạn đang phát triển một trang web mà người dùng sẽ nhìn thấy, việc có các lỗi tùy chỉnh có thể hữu ích. Các lỗi tùy chỉnh sẽ đảm bảo người dùng không bị nhầm lẫn khi có sự cố.
Bạn có muốn tìm hiểu thêm về cách viết mã trong JavaScript? Đọc hướng dẫn Cách học JavaScript của chúng tôi. Hướng dẫn này chứa những lời khuyên hàng đầu về cách học JavaScript.