JavaScript | Método generador.prototipo.throw()

El método Generator.prototype.throw() es un método incorporado en JavaScript que se usa para reanudar la ejecución de un generador arrojándole un error.
Sintaxis: 
 

gen.throw(exception);

Parámetros: esta función acepta un solo parámetro como se mencionó anteriormente y se describe a continuación: 
 

  • excepción: este parámetro contiene la excepción que se lanzará.

Valor devuelto: este método devuelve un objeto que contiene dos propiedades: 
 

  1. hecho: Tiene el valor 
    • verdadero : para el iterador que pasó el final de la secuencia iterada.
    • falso : para el iterador que puede producir el siguiente valor en la secuencia.
  2. valor: contiene cualquier valor de JavaScript que devuelve el iterador.

Los siguientes ejemplos ilustran el método Generator.prototype.throw() y se enumeran a continuación:
Ejemplo 1: 
 

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>  

Producción: 
 

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

Ejemplo 2: 
 

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>

Producción: 
 

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 }

Navegadores compatibles: los navegadores compatibles con el método Generator.prototype.throw() se enumeran a continuación: 
 

  • Google Chrome 39 y superior
  • Firefox 26 y superior
  • Ópera 26 y superior
  • Safari 10 y superior
  • Borde 13 y superior

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *