Câu lệnh ném JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về các câu lệnh ném JavaScript với sự trợ giúp của các ví dụ.

Trong hướng dẫn trước, bạn đã học cách xử lý các ngoại lệ bằng cách sử dụng câu lệnh try… catch trong JavaScript. Câu lệnh try and catch xử lý các ngoại lệ theo cách tiêu chuẩn được cung cấp bởi JavaScript. Tuy nhiên, bạn có thể sử dụng throwcâu lệnh để chuyển các ngoại lệ do người dùng xác định.

Trong JavaScript, throwcâu lệnh xử lý các ngoại lệ do người dùng xác định. Ví dụ: nếu một số nhất định chia cho 0 và nếu bạn cần xem xét Infinitynhư một ngoại lệ, bạn có thể sử dụng throwcâu lệnh để xử lý ngoại lệ đó.

Câu lệnh ném JavaScript

Cú pháp của câu lệnh ném là:

 throw expression;

Ở đây, expressionchỉ định giá trị của ngoại lệ.

Ví dụ,

 const number = 5; throw number/0; // generate an exception when divided by 0

Lưu ý : Biểu thức có thể là chuỗi, boolean, số hoặc giá trị đối tượng.

Ném JavaScript với thử… bắt

Cú pháp của try… catch… throwlà:

 try ( // body of try throw exception; ) catch(error) ( // body of catch )

Lưu ý : Khi câu lệnh ném được thực thi, nó sẽ thoát ra khỏi khối và đi đến catchkhối. Và đoạn mã bên dưới throwcâu lệnh không được thực thi.

Ví dụ 1: thử… bắt… ném Ví dụ

 const number = 40; try ( if(number> 50) ( console.log('Success'); ) else ( // user-defined throw statement throw new Error('The number is low'); ) // if throw executes, the below code does not execute console.log('hello'); ) catch(error) ( console.log('An error caught'); console.log('Error message: ' + error); )

Đầu ra

 Đã xảy ra lỗi Thông báo lỗi: Lỗi: Số lượng thấp

Trong chương trình trên, một điều kiện được chọn. Nếu số lượng nhỏ hơn 51 , một lỗi sẽ xảy ra. Và lỗi đó được ném ra bằng cách sử dụng throwcâu lệnh.

Câu throwlệnh chỉ định chuỗi The number is lowdưới dạng một biểu thức.

Lưu ý : Bạn cũng có thể sử dụng nhà thầu xây dựng-in lỗi khác cho sai số chuẩn: TypeError, SyntaxError, ReferenceError, EvalError, InternalError, và RangeError.

Ví dụ,

 throw new ReferenceError('this is reference error');

Rethrow một Exception

Bạn cũng có thể sử dụng throwcâu lệnh bên trong catchkhối để ném lại một ngoại lệ. Ví dụ,

 const number = 5; try ( // user-defined throw statement throw new Error('This is the throw'); ) catch(error) ( console.log('An error caught'); if( number + 8> 10) ( // statements to handle exceptions console.log('Error message: ' + error); console.log('Error resolved'); ) else ( // cannot handle the exception // rethrow the exception throw new Error('The value is low'); ) )

Đầu ra

 Lỗi bị bắt Thông báo lỗi: Lỗi: Đây là lỗi đã được giải quyết

Trong chương trình trên, throwcâu lệnh được sử dụng trong trykhối để bắt một ngoại lệ. Và throwcâu lệnh được phát triển lại trong catchkhối được thực thi nếu catchkhối không thể xử lý ngoại lệ.

Ở đây, catchkhối xử lý ngoại lệ và không xảy ra lỗi. Do đó, throwtuyên bố không được phát triển lại.

Nếu lỗi không được xử lý bởi khối catch, câu lệnh ném sẽ được phát triển lại với thông báo lỗi Uncaught Error: Giá trị thấp

thú vị bài viết...