Sử dụng JavaScript đánh máy
Một số trường hợp bạn sẽ gặp phải lúc Show Một lỗi Nó sẽ hiển thị bộ mặt yếu kém của bạn cho người dùng thấy Khi họ có trải nghiệm tệ hại Mặc dù, Lỗi ở khắp mọi nơi Tuy nhiên, bạn cần hiểu trước để bắt lỗi và xử lý nó Để giải quyết vấn đề này, ta có 2. Thử-Bắt-Cuối cùng
Cú pháp thử - bắt - cuối cùng // Khối lệnh có thể xảy ra lỗi // Khối lệnh thực thi nếu có lỗi // Khối lệnh này sẽ được thực thi // cho dù có lỗi hay không lỗi in which
Một ví dụ về câu lệnh try - catch - finally
Lập trình JavaScript căn bản");tài liệu. viết(" Câu lệnh thử bắt trong JavaScript ");cảnh báo(" Câu lệnh này có lỗi nè "); //Cố tình để câu lệnh này có lỗi nètài liệu. viết(" Câu lệnh này đúng nè ");tài liệu. viết(" If trong thử có lỗi thì dòng này sẽ chạy nè ");" Dòng này thông báo lỗi nè. " + cũ. toString()+ " tài liệu. viết(" Cái này nó luôn chạy nè ");Kết quả chạy trên trình duyệt như sau Kết quả trên cho thấy + First command line is in ra. Lập trình JavaScript cơ sở + Khối thử
+ Khối bắt
+ Khối cuối cùng
Một ví dụ khác về thử - bắt - cuối cùng // Số tình hình log một biến chưa được khai báo // Trong ra màn hình bảng điều khiển thông báo lỗi bảng điều khiển. log("Không quan tâm lỗi hay không"); Khi chạy chương trình, kết quả nhận được là
3. câu lệnh ném
Khi đó JavaScript sẽ ném ra một ngoại lệ (ném a error) JavaScript thực tế sẽ tạo ra một đối tượng lỗi (Error Object) với hai thuộc tính. Name (tên) và Thông báo lỗi (tin nhắn) Nhưng khí sử dụng câu lệnh Về mặt kỹ thuật một chút thì bạn có thể tự ném một ngoại lệ ra bên ngoài (ném một lỗi) mà bạn tạo ra Ngoại lệ có thể là chuỗi JavaScript, số, boolean hoặc một đối tượng. Ném lệnh thông thường sẽ được đặt trong lần thử Ví dụ
> Lưu ý. Sau khi câu lệnh runtime error 0 được thực thi thì một lỗi sẽ gây ra, điều đó cũng đồng nghĩa với câu lệnh bị lị. Do đó, những câu lệnh sau throw sẽ không được thực thi nữaVí dụ. Mình sử dụng lại đoạn mã phía trên nhưng thêm vào câu lệnh ném trước câu lệnh bị lỗi trước đó
Lập trình JavaScript căn bản");tài liệu. viết(" Câu lệnh thử bắt trong JavaScript ");throw "Lỗi đây mình tạo ra nè"; cảnh báo(" Câu lệnh này có lỗi nè "); // Cố tình để câu lệnh này có lỗi nètài liệu. viết(" Câu lệnh này đúng nè ");tài liệu. viết(" If trong thử có lỗi thì dòng này sẽ chạy nè ");" Dòng này thông báo lỗi nè. " + cũ. toString()+ " "tài liệu. viết(" Cái này nó luôn chạy nè ");Kết quả như sau Dòng đầu tiên sẽ chạy tức thời là in ra. Lập trình JavaScript cơ sở + Khối thử
+ Khối bắt
+ Khối cuối cùng
Ví dụ. Mình đang cố gắng sử dụng throw để kiểm tra điều kiện đầu vào Đầu tiên ta có HTML Nhập một số đường nhỏ hơn 100Kiểm tra Bây giờ, hãy tạo chức năng kiểm tra dữ liệu mà người dùng nhập
// Lấy số mà người dùng vừa nhập var số = tài liệu. getElementById("số"). giá trị; // Xử lý lỗi với thử bắt và ném throw "Bạn chưa nhập giá trị"; throw "Giá trị bạn nhập không phải là một số"; throw "Giá trị vừa nhập nhỏ hơn giá trị cho phép"; ném "Giá trị vừa nhập lớn hơn giá trị cho phép"; tài liệu. getElementById("tin nhắn"). innerHTML="Hợp lệ"; tài liệu. getElementById("tin nhắn"). innerHTML= ví dụ; Bây giờ, ta thêm hàm xử lý này vào sự kiện runtime error 7. Khi người dùng nhập xong, hãy nhấp vào nút runtime error 8 thì sẽ thực hiện hàm runtime error 9
tài liệu. getElementById("btn"). addEventListener("click", checkInput); Chạy trình duyệt để thử kết quả > Lưu ý. Câu lệnh runtime error 0 có nghĩa là "NÉM" còn câu lệnh catch có nghĩa là "BẮT ĐẦU". Vì thế, runtime error 0 ném ra cái gì thì catch bắt cái đó4. Một số lỗi thường gặp
Và đây là những lỗi thường gặp được tổng hợp lại Errormodel description evalerrorlỗi xảy ra trong hàm eval () shuntorlỗi vượt quá khoảng giá trị lỗi tham chiếu tham chiếu không hợp lệ cú pháp oodiuuri -hung và hungrorl.Để truy cập vào các thuộc tính try {...} 6 và try {...} 7 của các đối tượng bị lỗi, bạn chỉ cần thực hiện như sau// Truy cập thông báo lỗi Ví dụ // Số tình gán lại giá trị cho hàng số bảng điều khiển. nhật ký (Err. thông điệp); Tổng kết
Các câu lệnh bắt và xử lý lỗi này rất hữu ích đúng không nào. Bạn làm lại các ví dụ để dễ hiểu hơn nhé. Hẹn gặp lại các bạn ở bài học tiếp theo |