Thông thường, khi chương trình bị crash [dừng lại] do lỗi thì lỗi sẽ được in ra console ngay lập tức.
Tuy nhiên, JavaScript có một cấu trúc cú pháp là try...catch
cho phép bạn
bắt lỗi để làm điều gì đó hợp lý hơn thay vì để chương trình crash như:
- Hiển thị thông báo lỗi.
- Thay đổi giao diện để hiển thị lỗi.
- ...vv
Cú pháp "try...catch"
Cú pháp try...catch
có hai khối chính là try
, và sau đó là
catch
:
try {
// code...
} catch [err] {
// xủ lý lỗi
}
Cách hoạt động của try-catch như sau:
- Đầu tiên, đoạn mã trong
try {...}
được thực thi. - Nếu không có lỗi thì
catch [err]
bị bỏ qua, việc thực thi đến cuốitry
và tiếp tục, bỏ quacatch
. - Nếu có lỗi xảy ra thì quá trình thực thi
try
bị dừng và chương trình chuyển đến đầucatch [err]
. Trong đó, biếnerr
[bạn có thể sử dụng bất kỳ tên nào tùy thích] sẽ chứa một đối tượng lỗi với thông tin chi tiết về lỗi đã xảy ra.
Vì vậy, lỗi xảy ra bên trong try {...}
sẽ không làm chương trình bị crash - và sau đó bạn có thể làm gì đó trong catch
.
Sau đây là một số ví dụ:
Ví dụ không có lỗi thì đoạn code
console.log
tại[1]
và[2]
được thực thi:try { console.log["Start of try runs"]; // [1]