Open In App

JavaScript Generator throw() Method

Last Updated : 12 Jul, 2025
Suggest changes
Share
Like Article
Like
Report

JavaScript Generator.prototype.throw() method is an inbuilt method in JavaScript that is used to resume the execution of a generator by throwing an error into it.

Syntax: 

gen.throw(exception);

Parameters: This function accepts a single parameter as mentioned above and described below: 

  • exception: This parameter holds the exception to be thrown.

Return value: This method returns an Object containing two properties: 

  • done: It has the value 
    • true - for the iterator which is past the end of the iterated sequence.
    • false - for the iterator which is able to produce the next value in the sequence.
  • value: It contains any JavaScript value which is returned by the iterator.

Below examples illustrate the Generator.prototype.throw() method are listed below:

Example 1: This example shows the use of the Generator.prototype.throw() method in Javascript.

javascript
function* GFG() {  while (true) {  try {  yield "Null";  } catch (e) {  console.log('Generator.prototype.throw()');  }  } } const geeks = GFG(); console.log(geeks.next()); console.log(geeks.throw(new Error('Error caught!')));  

Output: 

Object { value: "Null", done: false } "Generator.prototype.throw()" Object { value: "Null", done: false }

Example 2: This example shows the use of the Generator.prototype.throw() method in Javascript.

javascript
function* GFG(pageSize = 1, list) {  let output = [];  let index = 0;  while (index < list.length) {  try {  output = [];  for (let i = index; i < index + pageSize; i++) {  if (list[i]) {  output.push(list[i]);  }  }  yield output;  index += pageSize;  } catch (e) {  console.log('Generator.prototype.throw()');  }  } } list = [1, 2, 3, 4, 5, 6, 7, 8] let geek = GFG(3, list); console.log(geek.next()); console.log(geek.next()); console.log(geek.next()); console.log(geek.throw(new Error('Error caught!'))); 

Output: 

Object { value: Array [1, 2, 3], done: false } Object { value: Array [4, 5, 6], done: false } Object { value: Array [7, 8], done: false } "Generator.prototype.throw()" Object { value: Array [7, 8], done: false }

Supported Browsers: The browsers supported by Generator.prototype.throw() method are listed below: 

  • Google Chrome 39 and above
  • Firefox 26 and above
  • Opera 26 and above
  • Safari 10 and above
  • Edge 13 and above

We have a complete list of Javascript Generator methods, to check those please go through the Javascript Generator Reference article.


Explore