Trình xây dựng Error[]
tạo ra một đối tượng lỗi.Error[]
constructor creates an error object.Cú pháp
new Error[]
new Error[message]
new Error[message, options]
new Error[message, fileName]
new Error[message, fileName, lineNumber]
Error[]
Error[message]
Error[message, options]
Error[message, fileName]
Error[message, fileName, lineNumber]
Lưu ý: Error[]
có thể được gọi có hoặc không có new
. Cả hai đều tạo ra một thể hiện Error
mới. Error[]
can be called with or without
new
. Both create a new Error
instance.
Thông số
message
Tùy chọnOptional
Một mô tả có thể đọc được của con người về lỗi.
options
Tùy chọnOptionalMột đối tượng có các thuộc tính sau:
cause
Tùy chọnOptionalMột thuộc tính chỉ ra nguyên nhân cụ thể của lỗi. Khi bắt và ném lại lỗi với thông báo lỗi cụ thể hoặc hữu ích hơn, thuộc tính này có thể được sử dụng để truyền lỗi ban đầu.
const x = Error["I was created using a function call!"];
// above has the same functionality as following
const y = new Error['I was constructed via the "new" keyword!'];
0 tùy chọn-tiêu chuẩnOptional
Non-standardGiá trị cho thuộc tính
const x = Error["I was created using a function call!"];
// above has the same functionality as following
const y = new Error['I was constructed via the "new" keyword!'];
0 trên đối tượng Error
được tạo. Mặc định với tên của tệp chứa mã được gọi là hàm tạo Error[]
.const x = Error["I was created using a function call!"];
// above has the same functionality as following
const y = new Error['I was constructed via the "new" keyword!'];
4 tùy chọn-tiêu chuẩnOptional Non-standardGiá trị cho thuộc tính
const x = Error["I was created using a function call!"];
// above has the same functionality as following
const y = new Error['I was constructed via the "new" keyword!'];
4 trên đối tượng Error
được tạo. Mặc định với số dòng chứa lệnh gọi hàm tạo Error[]
.Ví dụ
Gọi chức năng hoặc xây dựng mới
Khi Error
được sử dụng như một hàm, đó là không có new
, nó sẽ trả về một đối tượng Error
. Do đó, một cuộc gọi đơn thuần đến Error
sẽ tạo ra cùng một đầu ra xây dựng một đối tượng Error
thông qua từ khóa new
sẽ.
const x = Error["I was created using a function call!"];
// above has the same functionality as following
const y = new Error['I was constructed via the "new" keyword!'];
Phát triển lại một lỗi với một nguyên nhân
Đôi khi rất hữu ích để bắt một lỗi và ném lại nó bằng một thông báo mới. Trong trường hợp này, bạn nên chuyển lỗi ban đầu vào hàm tạo cho Error
mới, như được hiển thị.
try {
frameworkThatCanThrow[];
} catch [err] {
throw new Error["New error message", { cause: err }];
}
Để biết ví dụ chi tiết hơn, hãy xem Lỗi> Phân biệt giữa các lỗi tương tự.
Thông số kỹ thuật
Đặc tả ngôn ngữ Ecmascript # Sec-Set-Constructor # sec-error-constructor |
Tính tương thích của trình duyệt web
Bảng BCD chỉ tải trong trình duyệt
Xem thêm
- Polyfill của
Error
với hành vi hiện đại như Hỗ trợcause
có sẵn trong
7try { frameworkThatCanThrow[]; } catch [err] { throw new Error["New error message", { cause: err }]; }
8try { frameworkThatCanThrow[]; } catch [err] { throw new Error["New error message", { cause: err }]; }
9try { frameworkThatCanThrow[]; } catch [err] { throw new Error["New error message", { cause: err }]; }
- Nguyên nhân lỗi [v8.dev/eatures]
Ném, và thử ... bắt ... cuối cùng
Câu lệnh Error[]
0 xác định một khối mã để chạy [để thử].
Câu lệnh Error[]
1 xác định một khối mã để xử lý mọi lỗi.
Câu lệnh Error[]
2 xác định một khối mã để chạy bất kể kết quả.
Câu lệnh
try {
frameworkThatCanThrow[];
} catch [err] {
throw new Error["New error message", { cause: err }];
}
8 xác định lỗi tùy chỉnh.Lỗi sẽ xảy ra!
Khi thực hiện mã JavaScript, các lỗi khác nhau có thể xảy ra.
Lỗi có thể là lỗi mã hóa do lập trình viên thực hiện, lỗi do đầu vào sai và những thứ không lường trước khác.
Thí dụ
Trong ví dụ này, chúng tôi đã viết sai chính tả "cảnh báo" là "adddlert" để cố tình tạo ra lỗi:
Hãy tự mình thử »
thử {& nbsp; addDlert ["khách chào mừng!"];} Catch [err] {& nbsp; document.getEuityById ["demo"]. innerHtml = err.message;}
try {
adddlert["Welcome guest!"];
}
catch[err] {
document.getElementById["demo"].innerHTML = err.message;
}
Hãy tự mình thử »
Thuộc tính đối tượng lỗi không chuẩnadddlert as an error, and executes the catch code to handle it.
Mozilla và Microsoft xác định một số thuộc tính đối tượng lỗi không chuẩn:
FILENAME [Mozilla] Linenumber [Mozilla] Cột
Không sử dụng các thuộc tính này trong các trang web công cộng. Họ sẽ không làm việc trong tất cả các trình duyệt.
Hoàn thành tham chiếu lỗi
Để tham khảo đầy đủ đối tượng lỗi, hãy truy cập tham chiếu lỗi JavaScript hoàn chỉnh của chúng tôi.
Block
of code to try
}
catch[err] {
Block of code to handle errors
}
Làm thế nào để bạn tạo một lỗi mới trong JavaScript?
Cú pháp. Lưu ý: Lỗi [] có thể được gọi có hoặc không có mới. Cả hai tạo ra một thể hiện lỗi mới.
Những lỗi nào xảy ra trong JavaScript?throw an exception [throw an error].
Có ba loại lỗi chính có thể xảy ra trong khi biên dịch chương trình JavaScript: lỗi cú pháp, lỗi thời gian chạy và lỗi logic.Error object with two properties: name and message.
Làm thế nào để bạn tạo một lỗi mới?
Ném lỗi mới [] Tạo các đối tượng bằng các lớp ES6 yêu cầu sử dụng lỗi mới và mở rộng thông qua một lớp là cách duy nhất để bảo tồn dấu vết ngăn xếp. Lỗi ném [] giống như một chuỗi JavaScript, một số, boolean hoặc một đối tượng. Nó trả về các lỗi cụ thể như được định nghĩa trong giá trị tin nhắn được truyền dưới dạng đối số.
Ném, và thử ... bắt ... cuối cùngthrow an exception [throw an error].
Câu lệnh Error[]
0 xác định một khối mã để chạy [để thử].
Câu lệnh Error[]
1 xác định một khối mã để xử lý mọi lỗi.
throw 500; // throw a number
Câu lệnh Error[]
2 xác định một khối mã để chạy bất kể kết quả.
Câu lệnh try {
frameworkThatCanThrow[];
} catch [err] {
throw new Error["New error message", { cause: err }];
}
8 xác định lỗi tùy chỉnh.
try {
frameworkThatCanThrow[];
} catch [err] {
throw new Error["New error message", { cause: err }];
}
Lỗi sẽ xảy ra!
Khi thực hiện mã JavaScript, các lỗi khác nhau có thể xảy ra.
thử {& nbsp; addDlert ["khách chào mừng!"];} Catch [err] {& nbsp; document.getEuityById ["demo"]. innerHtml = err.message;}
JavaScript bắt AddDlert là một lỗi và thực thi mã bắt để xử lý nó.
Test Input
JavaScript thử và bắt
function myFunction[] {
const message = document.getElementById["p01"];
message.innerHTML = "";
let x = document.getElementById["demo"].value;
try {
if[x == ""] throw "empty";
if[isNaN[x]] throw "not a number";
x = Number[x];
if[x < 5]
throw "too low";
if[x > 10] throw "too high";
}
catch[err] {
message.innerHTML = "Input is " + err;
}
}
Hãy tự mình thử »
thử {& nbsp; addDlert ["khách chào mừng!"];} Catch [err] {& nbsp; document.getEuityById ["demo"]. innerHtml = err.message;}
JavaScript bắt AddDlert là một lỗi và thực thi mã bắt để xử lý nó.
JavaScript thử và bắt
thử {& nbsp; addDlert ["khách chào mừng!"];} Catch [err] {& nbsp; document.getEuityById ["demo"]. innerHtml = err.message;}
JavaScript bắt AddDlert là một lỗi và thực thi mã bắt để xử lý nó.
JavaScript thử và bắt
Câu lệnh Error[]
0 cho phép bạn xác định một khối mã được kiểm tra các lỗi trong khi nó đang được thực thi.
Câu lệnh Error[]
1 cho phép bạn xác định một khối mã được thực thi, nếu xảy ra lỗi trong khối thử.
Block of code to try
}
catch[err] {
Block of code to handle errors
}
finally {
Block of code to be executed regardless of the try / catch result
}
Thí dụ
hàm myFunction [] {& nbsp; const message = document.getEuityById ["p01"]; & nbsp; message.innerhtml = ""; & nbsp; & nbsp; let x = document.getEuityById ["demo"]. value; & nbsp; thử {& nbsp; & nbsp; & nbsp; if [x == ""] ném "trống"; & nbsp; & nbsp; & nbsp; if [isnan [x]] ném "không phải là một số"; & nbsp; & nbsp; & nbsp; x = number [x]; & nbsp; & nbsp; & nbsp; if [x> 10] ném "quá cao"; & nbsp; & nbsp; & nbsp; if [x 10] throw "is too high";
if[x < 5] throw "is too low";
}
catch[err] {
message.innerHTML = "Error: " + err + ".";
}
finally {
document.getElementById["demo"].value = "";
}
}
Hãy tự mình thử »
Đối tượng lỗi
JavaScript có một đối tượng lỗi tích hợp cung cấp thông tin lỗi khi xảy ra lỗi.
Đối tượng lỗi cung cấp hai thuộc tính hữu ích: Tên và thông báo.
Thuộc tính đối tượng lỗi
Tên | Đặt hoặc trả về tên lỗi |
thông điệp | Đặt hoặc trả về thông báo lỗi [một chuỗi] |
Giá trị tên lỗi
Sáu giá trị khác nhau có thể được trả về bởi thuộc tính Tên lỗi:
Tên | Đặt hoặc trả về tên lỗi |
thông điệp | Đặt hoặc trả về thông báo lỗi [một chuỗi] |
Giá trị tên lỗi | Sáu giá trị khác nhau có thể được trả về bởi thuộc tính Tên lỗi: |
Tên lỗi | Evalerror |
Một lỗi đã xảy ra trong hàm eval [] | RangeError |
Một số "ngoài phạm vi" đã xảy ra | Tham chiếu |
Một tài liệu tham khảo bất hợp pháp đã xảy ra
Lỗi cú pháp
Đã xảy ra lỗi cú pháp
Kiểu hàng
Một lỗi đã xảy ra
Urierror
Một lỗi trong encodeuri [] đã xảy ra
Thí dụ
Sáu giá trị khác nhau được mô tả dưới đây.
try {
num.toPrecision[500]; // A number cannot have 500 significant digits
}
catch[err] {
document.getElementById["demo"].innerHTML = err.name;
}
Hãy tự mình thử »
Lỗi đánh giá
Một Error[]
7 chỉ ra một lỗi trong hàm eval [].
Thí dụ
Các phiên bản mới hơn của JavaScript không ném Evalerror. Sử dụng cú pháp thay thế.
try {
x = y + 1;
// y cannot be used [referenced]
}
catch[err] {
document.getElementById["demo"].innerHTML = err.name;
}
Hãy tự mình thử »
Lỗi phạm vi
Một Error[]
8 bị ném nếu bạn sử dụng một số nằm ngoài phạm vi của các giá trị pháp lý.
Thí dụ
Ví dụ: bạn không thể đặt số chữ số đáng kể của một số thành 500.
eval["alert['Hello]"]; // Missing ' will produce an error
}
catch[err]
{
document.getElementById["demo"].innerHTML = err.name;
}
Hãy tự mình thử »
Đối tượng lỗi
JavaScript có một đối tượng lỗi tích hợp cung cấp thông tin lỗi khi xảy ra lỗi.
Thí dụ
Đối tượng lỗi cung cấp hai thuộc tính hữu ích: Tên và thông báo.
try {
num.toUpperCase[]; // You cannot convert a number to upper case
}
catch[err] {
document.getElementById["demo"].innerHTML
= err.name;
}
Hãy tự mình thử »
Đối tượng lỗi
JavaScript có một đối tượng lỗi tích hợp cung cấp thông tin lỗi khi xảy ra lỗi.
Thí dụ
Đối tượng lỗi cung cấp hai thuộc tính hữu ích: Tên và thông báo.
decodeURI["%%%"]; // You cannot URI decode percent signs
}
catch[err] {
document.getElementById["demo"].innerHTML = err.name;
}
Hãy tự mình thử »
Đối tượng lỗi
JavaScript có một đối tượng lỗi tích hợp cung cấp thông tin lỗi khi xảy ra lỗi.
Đối tượng lỗi cung cấp hai thuộc tính hữu ích: Tên và thông báo.
lineNumber [Mozilla]
columnNumber [Mozilla]
stack [Mozilla]
description [Microsoft]
number [Microsoft]
Thuộc tính đối tượng lỗi
Tài sản
Sự mô tả