JS Errors

27/08/2019

Bài sau » « Bài trước

Câu lệnh try cho phép bạn kiểm tra một khối mã lỗi.

Câu lệnh catch cho phép bạn xử lý lỗi.

Câu lệnh throw cho phép bạn tạo ra các lỗi tùy chỉnh.

Câu lệnh finally cho phép bạn thực thi khối code, sau khi trycatch, bất kể kết quả như thế nào.

Câu lệnh try và catch

Câu lệnh trycatch luôn đi kèm với nhau:

try { // Khối code cần kiểm tra lỗi } catch(err) { // Khối code xử lý lỗi }

Câu lệnh throw

Khi xảy ra lỗi, JavaScript thường sẽ dừng thực thi và tạo thông báo lỗi.

Thuật ngữ này gọi là: Throw an exception (throw an error)

Javascript tạo đối tượng Error với 2 thuộc tính: namemessage .

Câu lệnh throw cho phép bạn tạo ra các lỗi tùy chỉnh.

Các exception trong Javascript có thể là : Number, String, Boolean hoặc Object.

throw "Too big"; // throw a text throw 500; // throw a number

Nếu bạn sử dụng throw kết hợp với try catch, bạn có thể kiểm soát luồng chạy của khối code và tạo thông báo lỗi tùy chỉnh.

Câu lệnh finally

Câu lệnh finally cho phép bạn thực thi khối code, sau khi trycatch, bất kể kết quả như thế nào.

try { // Khối code cần kiểm tra lỗi } catch(err) { // Khối code xử lý lỗi } finally { // Khối code sẽ luôn chạy, bất kể kết quả của try/ catch }

Ví dụ function kiểm tra 1 số nằm trong khoảng từ 5 đến 10:

<input id="demo" type="text"> <button type="button" onclick="myFunction()">Test Input</button> <p id="p01"></p> <script> function myFunction() { var message, x; message = document.getElementById("p01"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "iRỗng"; if(isNaN(x)) throw "Not a number"; x = Number(x); if(x > 10) throw "Số quá lớn"; if(x < 5) throw "Số quá nhỏ"; } catch(err) { message.innerHTML = "Error: " + err + "."; } finally { document.getElementById("demo").value = ""; } } </script>

Error object

Thuộc tínhMô tả
nameThiết lập hoặc trả về tên lỗi
messageThiết lập hoặc trả về nội dung thông báo (string)

Error Name

6 giá trị khác nhau có thể được trả về bởi thuộc tính lỗi name:

Error NameMô tả
EvalErrorLỗi xảy ra trong function eval()
RangeErrorMột số nằm ngoài phạm vi
ReferenceErrorMột tham chiếu không hợp pháp
SyntaxErrorLỗi cú pháp
TypeErrorLỗi kiểu dữ liệu
URIErrorLỗi xảy ra khi encodeURI()


Bài sau » « Bài trước
Back to top