Skip to content
Related Articles
Open in App
Not now

Related Articles

JavaScript Generator.prototype.throw() Method

Improve Article
Save Article
  • Last Updated : 27 Dec, 2022
Improve Article
Save Article

The 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




<script>
    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!')));       
</script>

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




<script>
    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]
    var geek = GFG(3, list);              
      
    console.log(geek.next());      
    console.log(geek.next());      
    console.log(geek.next()); 
    console.log(geek.throw(new Error('Error caught!')));
</script>

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 }

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

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

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!