Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh JavaScript
4 để xử lý các ngoại lệCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Giới thiệu về câu lệnh try…catch trong JavaScript
Ví dụ sau cố gắng gọi hàm
5 không tồn tạiCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Code language: JavaScript [javascript]
let result = add[10, 20]; console.log[result]; console.log['Bye'];
Và công cụ JavaScript đưa ra lỗi sau
Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Thông báo lỗi cho biết rằng
6 không phải là một chức năng và loại lỗi làCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
7Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Khi công cụ JavaScript gặp lỗi, nó sẽ đưa ra lỗi đó và ngay lập tức chấm dứt việc thực thi toàn bộ tập lệnh. Trong ví dụ trên, việc thực thi mã dừng ở dòng đầu tiên
Đôi khi, bạn muốn xử lý lỗi và tiếp tục thực hiện. Để làm được điều đó, bạn sử dụng câu lệnh
4 với cú pháp như sauCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Code language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
Trong cú pháp này
- Đầu tiên, đặt mã có thể gây ra lỗi vào khối
9
Code language: JavaScript [javascript]Uncaught TypeError: add is not a function
- Thứ hai, thực hiện logic để xử lý lỗi trong khối
0
Code language: JavaScript [javascript]try { // code may cause error } catch[error]{ // code to handle error }
Nếu xảy ra lỗi trong khối
9, công cụ JavaScript ngay lập tức thực thi mã trong khốiCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
0. Ngoài ra, công cụ JavaScript cung cấp cho bạn một đối tượng lỗi chứa thông tin chi tiết về lỗiCode language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
Về cơ bản, đối tượng lỗi có ít nhất hai thuộc tính
3 chỉ định tên lỗi
Code language: JavaScript [javascript]try { // code may cause error } catch[error]{ // code to handle error }
4 giải thích lỗi một cách chi tiết
Code language: JavaScript [javascript]try { // code may cause error } catch[error]{ // code to handle error }
Nếu không có lỗi xảy ra trong khối
9, công cụ JavaScript sẽ bỏ qua khốiCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
0Code language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
Lưu ý rằng các trình duyệt web có thể thêm nhiều thuộc tính hơn vào đối tượng
7. Ví dụ: Firefox thêm các thuộc tínhCode language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
8,Code language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
9 vàCode language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
0 vào đối tượngCode language: JavaScript [javascript]
try { let result = add[10, 20]; console.log[result]; } catch [e] { console.log[{ name: e.name, message: e.message }]; } console.log['Bye'];
7Code language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
Đó là một cách thực hành tốt để chỉ đặt mã có thể gây ra ngoại lệ trong khối
9Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Lưu đồ sau đây minh họa cách thức hoạt động của câu lệnh
4Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Các ví dụ về câu lệnh try…catch JavaScript
Ví dụ sau sử dụng câu lệnh
4 để xử lý lỗiCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
try { let result = add[10, 20]; console.log[result]; } catch [e] { console.log[{ name: e.name, message: e.message }]; } console.log['Bye'];
Code language: JavaScript [javascript]
đầu ra
Code language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
Trong ví dụ này, chúng ta gọi hàm
5 và gán giá trị trả về cho biếnCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
6. Bởi vì hàmCode language: JavaScript [javascript]
try { let result = add[10, 20]; console.log[result]; } catch [e] { console.log[{ name: e.name, message: e.message }]; } console.log['Bye'];
5 không tồn tại, công cụ JavaScript bỏ qua câu lệnh xuất kết quả ra bảng điều khiểnCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Code language: JavaScript [javascript]
console.log[result];
Và nó ngay lập tức thực thi câu lệnh trong khối
0 xuất tên lỗi và thông báoCode language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
Code language: CSS [css]
console.log[{ name: e.name, message: e.message }];
Vì chúng tôi đã xử lý lỗi, công cụ JavaScript tiếp tục thực thi câu lệnh cuối cùng
Code language: JavaScript [javascript]
console.log['Bye'];
Bỏ qua khối bắt
Ví dụ sau định nghĩa hàm
5 trả về tổng của hai đối sốCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Code language: JavaScript [javascript]
const add = [x, y] => x + y; try { let result = add[10, 20]; console.log[result]; } catch [e] { console.log[{ name: e.name, message: e.message }]; } console.log['Bye'];
đầu ra
30 Bye
Trong ví dụ này, không có lỗi xảy ra vì hàm
5 tồn tại. Do đó, công cụ JavaScript bỏ qua khốiCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
0Code language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }
Mã định danh ngoại lệ
Khi một ngoại lệ xảy ra trong khối thử, biến ngoại lệ [e] trong khối bắt sẽ lưu trữ đối tượng ngoại lệ
Nếu bạn không muốn sử dụng biến ngoại lệ, bạn có thể bỏ qua nó như thế này
0Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Ví dụ: phần sau sử dụng câu lệnh try…catch mà không có biến ngoại lệ
1Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
Làm thế nào nó hoạt động
Trước tiên, hãy xác định hàm
2 chấp nhận một chuỗi và trả vềCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
3 nếu chuỗi đó là một JSON hợp lệ hoặcCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
4 nếu ngược lạiCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
Để xác thực JSON, hàm
2 sử dụng phương thứcCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
6 và câu lệnhCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
4Code language: JavaScript [javascript]
Uncaught TypeError: add is not a function
JSON. phương thức parse[] phân tích một chuỗi JSON và trả về một đối tượng. Nếu chuỗi đầu vào không phải là JSON hợp lệ, thì
6 sẽ đưa ra một ngoại lệCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
Nếu không có ngoại lệ xảy ra, hàm trả về
3 trong khốiCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
9. Mặt khác, nó trả vềCode language: JavaScript [javascript]
Uncaught TypeError: add is not a function
4 trong khốiCode language: CSS [css]
{name: 'TypeError', message: 'add is not a function'} Bye
0Code language: JavaScript [javascript]
try { // code may cause error } catch[error]{ // code to handle error }