Hướng dẫn which key is used to create an error in javascript? - phím nào được sử dụng để tạo lỗi trong javascript?

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ọnOptional

Một đối tượng có các thuộc tính sau:

cause Tùy chọnOptional

Mộ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-standard

Giá 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-standard

Giá 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

Sự chỉ rõ
Đặ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
    try {
      frameworkThatCanThrow();
    } catch (err) {
      throw new Error("New error message", { cause: err });
    }
    
    7
  • try {
      frameworkThatCanThrow();
    } catch (err) {
      throw new Error("New error message", { cause: err });
    }
    
    8
  • try {
      frameworkThatCanThrow();
    } catch (err) {
      throw new Error("New error message", { cause: err });
    }
    
    9
  • 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.

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ó.

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 <5) ném "quá thấp"; & nbsp; & nbsp;} & nbsp; & nbsp; catch (err) {& nbsp; & nbsp; & nbsp; message.innerhtml = "lỗi:" + err + "."; & nbsp; & nbsp;} & nbsp; & nbsp; cuối cùng là {& nbsp; & nbsp; & nbsp; & nbsp; & nbsp;}}
  const message = document.getElementById("p01");
  message.innerHTML = "";
  let x = document.getElementById("demo").value;
  try {
    if(x == "") throw "is empty";
    if(isNaN(x)) throw "is not a number";
    x = Number(x);
    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ài sảnSự mô tả
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ỗiSự mô tả
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ỗiSáu giá trị khác nhau có thể được trả về bởi thuộc tính Tên lỗi:
Tên lỗiEvalerror
Một lỗi đã xảy ra trong hàm eval ()RangeError
Một số "ngoài phạm vi" đã xảy raTham 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ả




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.Error() can be called with or without new . Both create a new Error instance.

Những lỗi nào xảy ra trong JavaScript?

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.syntax errors, runtime errors, and logical errors.

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ố. Creating objects using ES6 classes requires the use of new and extending Error via a class is the only way to preserve stack traces. throw Error() is like a Javascript string, a number, a boolean, or an object. It returns specific errors as defined in the message value which is passed as an argument.