From 1109132f09d75da9a28b649c7677bb6ce07c40c0 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:45 -0500 Subject: initial commit --- .../error/constructor_error/index.html | 69 +++++++ .../objetos_globales/error/filename/index.html | 48 +++++ .../referencia/objetos_globales/error/index.html | 219 +++++++++++++++++++++ .../objetos_globales/error/linenumber/index.html | 101 ++++++++++ .../objetos_globales/error/message/index.html | 114 +++++++++++ .../objetos_globales/error/name/index.html | 58 ++++++ .../objetos_globales/error/prototype/index.html | 153 ++++++++++++++ .../objetos_globales/error/tosource/index.html | 60 ++++++ .../objetos_globales/error/tostring/index.html | 98 +++++++++ 9 files changed, 920 insertions(+) create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/constructor_error/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/filename/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/linenumber/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/message/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/name/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/prototype/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/tosource/index.html create mode 100644 files/es/web/javascript/referencia/objetos_globales/error/tostring/index.html (limited to 'files/es/web/javascript/referencia/objetos_globales/error') diff --git a/files/es/web/javascript/referencia/objetos_globales/error/constructor_error/index.html b/files/es/web/javascript/referencia/objetos_globales/error/constructor_error/index.html new file mode 100644 index 0000000000..114831c512 --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/constructor_error/index.html @@ -0,0 +1,69 @@ +--- +title: Constructor Error() +slug: Web/JavaScript/Referencia/Objetos_globales/Error/constructor_Error +tags: + - Constructor + - JavaScript + - Referencia +translation_of: Web/JavaScript/Reference/Global_Objects/Error/Error +--- +
{{JSRef}}
+ +

El constructor Error crea un objeto Error.

+ +

Sintaxis

+ +
new Error([message[, fileName[, lineNumber]]])
+ +

Parámetros

+ +
+
message{{Optional_Inline}}
+
Una descripción del error legible para los humanos.
+
fileName {{Optional_Inline}}{{Non-standard_inline}}
+
El valor de la propiedad fileName en el objeto Error creado. De manera predeterminada, el nombre del archivo que contiene el código que llamó al constructor Error().
+
lineNumber {{Optional_Inline}}{{Non-standard_inline}}
+
El valor de la propiedad lineNumber en el objeto Error creado. De manera predeterminada, el número de línea que contiene la invocación del constructor Error().
+
+ +

Ejemplos

+ +

Llamada a función o construcción new

+ +

Cuando se usa Error como una función, sin {{JSxRef("Operators/new", "new")}}, devolverá un objeto Error. Por lo tanto, una simple llamada a Error producirá el mismo resultado que la construcción de un objeto Error mediante la palabra clave new.

+ +
// esto...
+const x = Error('¡Fui creado usando una llamada a función!')
+
+    // ...tiene la misma funcionalidad que esta.
+const y = new Error('¡Fui construido con la palabra clave "new"!') 
+ +

Especificaciones

+ + + + + + + + + + + + +
Especificación
{{SpecName('ESDraft', '#sec-error-constructor', 'Error constructor')}}
+ +

Compatibilidad del navegador

+ +
+ + +

{{Compat("javascript.builtins.Error.Error")}}

+
+ +

Ve también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/filename/index.html b/files/es/web/javascript/referencia/objetos_globales/error/filename/index.html new file mode 100644 index 0000000000..8e633934e0 --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/filename/index.html @@ -0,0 +1,48 @@ +--- +title: Error.prototype.fileName +slug: Web/JavaScript/Referencia/Objetos_globales/Error/fileName +tags: + - JavaScript + - No estandar + - Propiedad + - Prototipo +translation_of: Web/JavaScript/Reference/Global_Objects/Error/fileName +--- +
{{jsRef}} {{non-standard_header}}
+ +

La propiedad fileName contiene la ruta al archivo que generó este error.

+ +

Descripción

+ +

Esta propiedad no estándar contiene la ruta al archivo que generó este error. Si se llama desde un contexto de depuración, devuelve las herramientas de desarrollo de Firefox, por ejemplo, "código de evaluación del depurador".

+ +

Ejemplos

+ +

Usar fileName

+ +
var e = new Error('No se pudo procesar la entrada');
+throw e;
+// e.fileName podría verse como "file:///C:/ejemplo.html"
+
+ +

Especificaciones

+ +

No forma parte de ningún estándar.

+ +

Compatibilidad del navegador

+ +
+
+ + +

{{Compat("javascript.builtins.Error.fileName")}}

+
+
+ +

Ve también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/index.html b/files/es/web/javascript/referencia/objetos_globales/error/index.html new file mode 100644 index 0000000000..03cbd038da --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/index.html @@ -0,0 +1,219 @@ +--- +title: Error +slug: Web/JavaScript/Referencia/Objetos_globales/Error +tags: + - Error + - JavaScript +translation_of: Web/JavaScript/Reference/Global_Objects/Error +--- +
{{JSRef}}
+ +

Los objetos Error se lanzan cuando ocurren errores en tiempo de ejecución. También puedes utilizar el objeto Error como objeto base para excepciones definidas por el usuario. Ve más adelante los tipos de errores estándar integrados.

+ +

Descripción

+ +

Los errores en tiempo de ejecución dan como resultado la creación y lanzamiento de nuevos objetos Error.

+ +

Tipos Error

+ +

Además del constructor genérico Error, hay otros siete constructores de errores en el núcleo de JavaScript. Para conocer las excepciones de lado del cliente, consulta {{JSxRef("../Guide/Control_de_flujo_y_manejo_de_errores", "Declaraciones para el manejo de excepciones", "#Sentencias_de_manejo_de_excepciones", 1)}}.

+ +
+
{{JSxRef("EvalError")}}
+
Crea una instancia que representa un error que ocurre con respecto a la función global {{JSxRef("eval", "eval()")}}.
+
{{JSxRef("InternalError")}}
+
Crea una instancia que representa un error que ocurre cuando se produce un error interno en el motor de JavaScript. Por ejemplo: "demasiada recursividad".
+
{{JSxRef("RangeError")}}
+
Crea una instancia que representa un error que ocurre cuando una variable numérica o parámetro está fuera de su rango válido.
+
{{JSxRef("ReferenceError")}}
+
Crea una instancia que representa un error que ocurre cuando se quita la referencia a una referencia no válida.
+
{{JSxRef("SyntaxError")}}
+
Crea una instancia que representa un error de sintaxis.
+
{{JSxRef("TypeError")}}
+
Crea una instancia que representa un error que ocurre cuando una variable o parámetro no es de un tipo válido.
+
{{JSxRef("URIError")}}
+
Crea una instancia que representa un error que ocurre cuando {{JSxRef("encodeURI", "encodeURI()")}} o {{JSxRef("decodeURI", "decodeURI()")}} pasan parámetros no válidos.
+
+ +

Constructor

+ +
+
{{JSxRef("Objetos_globales/Error/Error", "Error()")}}
+
Crea un nuevo objeto Error.
+
+ +

Métodos estáticos

+ +
+
{{JSxRef("Error.captureStackTrace()")}}
+
Una función V8 no estándar que crea la propiedad {{JSxRef("Error.prototype.stack", "stack")}} en una instancia de Error.
+
+ +

Propiedades de la instancia

+ +
+
{{jsxref("Error.prototype.message")}}
+
Mensaje de error.
+
{{jsxref("Error.prototype.name")}}
+
Nombre del error.
+
{{jsxref("Error.prototype.description")}}
+
Una propiedad no estándar de Microsoft para la descripción del error. Similar a {{jsxref("Error.prototype.message", "message")}}.
+
{{jsxref("Error.prototype.number")}}
+
Una propiedad no estándar de Microsoft para un número de error.
+
{{jsxref("Error.prototype.fileName")}}
+
Una propiedad no estándar de Mozilla para la ruta al archivo que generó este error.
+
{{JSxRef("Error.prototype.lineNumber")}}
+
Una propiedad no estándar de Mozilla para el número de línea en el archivo que generó este error.
+
{{JSxRef("Error.prototype.columnNumber")}}
+
Una propiedad no estándar de Mozilla para el número de columna en la línea que generó este error.
+
{{JSxRef("Error.prototype.stack")}}
+
Una propiedad no estándar de Mozilla para un seguimiento de la pila.
+
+ +

Métodos de instancia

+ +
+
{{jsxref("Error.prototype.toString()")}}
+
Devuelve una cadena que representa el objeto especificado. Redefine el método {{JSxRef("Object.prototype.toString()")}}.
+
+ +

Ejemplos

+ +

Lanzar un error genérico

+ +

Normalmente, creas un objeto Error con la intención de generarlo utilizando la palabra clave {{JSxRef("Sentencias/throw", "throw")}}. Puedes manejar el error usando la construcción {{JSxRef("Sentencias/try...catch", "try...catch")}}:

+ +
try {
+  throw new Error('¡Ups!')
+} catch (e) {
+  console.error(e.name + ': ' + e.message)
+}
+
+ +

Manejar de un error específico

+ +

Puede elegir manejar solo tipos de error específicos probando el tipo de error con la propiedad {{JSxRef("Object.prototype.constructor", "constructor")}} del error o, si estás escribiendo para motores JavaScript modernos, la palabra clave {{JSxRef("Operators/instanceof", "instanceof")}}:

+ +
try {
+  foo.bar()
+} catch (e) {
+  if (e instanceof EvalError) {
+    console.error(e.name + ': ' + e.message)
+  } else if (e instanceof RangeError) {
+    console.error(e.name + ': ' + e.message)
+  }
+  // ... etc
+}
+
+ +

Tipos Error personalizados

+ +

Posiblemente desees definir tus propios tipos de error derivados de Error para poder lanzarlo con throw new MyError() y usar instanceof MyError para verificar el tipo de error en el controlador de excepciones. Esto da como resultado un código de manejo de errores más limpio y consistente.

+ +

Consulta "¿Cuál es una buena manera de extender Error en JavaScript?" en StackOverflow para una discusión en profundidad.

+ +

Clase Error personalizado en ES6

+ +
+

Las versiones de Babel anteriores a la 7 pueden manejar métodos de clase CustomError, pero solo cuando se declaran con {{JSxRef("Objetos_globales/Object/defineProperty", "Object.defineProperty()")}}. De lo contrario, las versiones antiguas de Babel y otros transpiladores no manejarán correctamente el siguiente código sin configuración adicional.

+
+ +
+

Algunos navegadores incluyen el constructor CustomError en el seguimiento de la pila cuando se utilizan clases de ES2015.

+
+ +
class CustomError extends Error {
+  constructor(foo = 'bar', ...params) {
+    // Pasa los argumentos restantes (incluidos los específicos del proveedor) al constructor padre
+    super(...params)
+
+    // Mantiene un seguimiento adecuado de la pila para el lugar donde se lanzó nuestro error (solo disponible en V8)
+    if (Error.captureStackTrace) {
+      Error.captureStackTrace(this, CustomError)
+    }
+
+    this.name = 'CustomError'
+    // Información de depuración personalizada
+    this.foo = foo
+    this.date = new Date()
+  }
+}
+
+try {
+  throw new CustomError('baz', 'bazMessage')
+} catch(e) {
+  console.error(e.name)    // CustomError
+  console.error(e.foo)     // baz
+  console.error(e.message) // bazMessage
+  console.error(e.stack)   // stacktrace
+}
+ +

Objeto Error personalizado ES5

+ +
+

Todos los navegadores incluyen el constructor CustomError en el seguimiento de la pila cuando se usa una declaración de prototipo.

+
+ +
function CustomError(foo, message, fileName, lineNumber) {
+  var instance = new Error(message, fileName, lineNumber);
+  instance.name = 'CustomError';
+  instance.foo = foo;
+  Object.setPrototypeOf(instance, Object.getPrototypeOf(this));
+  if (Error.captureStackTrace) {
+    Error.captureStackTrace(instance, CustomError);
+  }
+  return instance;
+}
+
+CustomError.prototype = Object.create(Error.prototype, {
+  constructor: {
+    value: Error,
+    enumerable: false,
+    writable: true,
+    configurable: true
+  }
+});
+
+if (Object.setPrototypeOf){
+  Object.setPrototypeOf(CustomError, Error);
+} else {
+  CustomError.__proto__ = Error;
+}
+
+try {
+  throw new CustomError('baz', 'bazMessage');
+} catch(e){
+  console.error(e.name); // CustomError
+  console.error(e.foo); // baz
+  console.error(e.message); // bazMessage
+}
+ +

Especificaciones

+ + + + + + + + + + + + +
Especificación
{{SpecName('ESDraft', '#sec-error-objects', 'Error')}}
+ +

Compatibilidad del navegador

+ +
+ + +

{{Compat("javascript.builtins.Error")}}

+
+ +

Ve también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/linenumber/index.html b/files/es/web/javascript/referencia/objetos_globales/error/linenumber/index.html new file mode 100644 index 0000000000..0efec0696f --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/linenumber/index.html @@ -0,0 +1,101 @@ +--- +title: Error.prototype.lineNumber +slug: Web/JavaScript/Referencia/Objetos_globales/Error/lineNumber +translation_of: Web/JavaScript/Reference/Global_Objects/Error/lineNumber +--- +
No es una norma
+Esta característica no es una norma y no está en la lista de normas. No la utilice en sitios de producción que enfrenta la Web: no va a funcionar para todos los usuarios. También puede haber grandes incompatibilidades entre implementaciones y el comportamiento puede cambiar en el futuro.
+ +
 
+ +
La propiedad lineNumber contiene el número de linea en el archivo que arrojó el error.
+ +
 
+ +

Ejemplos

+ +

Utilizando lineNumber

+ +
var e = new Error('No fue posible analizar el dato introducido');
+throw e;
+console.log(e.lineNumber) // 2
+
+ +

Ejemplo alternativo utilizando el evento 'error'

+ +
window.addEventListener('error', function(e) {
+  console.log(e.lineno); // 5
+});
+var e = new Error('No fue posible analizar el dato introducido');
+throw e;
+
+ +

Esta es una norma soportada por Chrome, Firefox entre otros.

+ +

Especificaciones

+ +

No forma parte de ninguna especificación. No es una norma.

+ + + +
+

 

+ +

Tabla de compatibilidad

+ + + + + + + + + + + + + + + + + + + + +
CaracteristicaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Soporte básicoCompatible [1]CompatibleNo compatibleNo compatibleNo compatible
+ +

 [1] Objeto error en errores manejados.

+ + + + + + + + + + + + + + + + + + + + + + +
CaracteristicaAndroidChorme para AndroidFirefox Móvil (Gecko)IE MóvilOpera MóvilSafari Móvil
Soporte básicoNo compatibleNo compatibleCompatibleNo compatibleNo compatibleNo compatible
+
+ +

 

+ +

Vea también:

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/message/index.html b/files/es/web/javascript/referencia/objetos_globales/error/message/index.html new file mode 100644 index 0000000000..3f14983d6e --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/message/index.html @@ -0,0 +1,114 @@ +--- +title: Error.prototype.message +slug: Web/JavaScript/Referencia/Objetos_globales/Error/message +translation_of: Web/JavaScript/Reference/Global_Objects/Error/message +--- +
{{JSRef}}
+ +

La propiedad message es una descripción legible del error.

+ +

Descripción

+ +

Esta propiedad contiene una breve descripción del error, si está disponible o ha sido fijado. SpiderMonkey hace un amplio uso de esta propiedad para las excepciones. Esta porpiedad combinada con la propiedad {{jsxref("Error.prototype.name", "name")}} es usada por el método {{jsxref("Error.prototype.toString()")}} para crear una cadena de texto del objeto Error.

+ +

Por defecto, la propiedad message es una cadena vacía, pero se puede especificar un mensaje a través del primer parámetro del {{jsxref("Error", "constructor Error")}}.

+ +

Ejemplo

+ +

Lanzar un error personalizado

+ +
var e = new Error('No se pudo analizar la entrada');
+// e.message es 'No se pudo analizar la entrada'
+throw e;
+
+ +

Especificaciones

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificaciónEstadoComentario
{{SpecName('ES1')}}{{Spec2('ES1')}}Definición inicial.
{{SpecName('ES5.1', '#sec-15.11.4.3', 'Error.prototype.message')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.message', 'Error.prototype.message')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-error.prototype.message', 'Error.prototype.message')}}{{Spec2('ESDraft')}} 
+ +

Compatibilidad con navegadores

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Soporte básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Soporte básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Ver también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/name/index.html b/files/es/web/javascript/referencia/objetos_globales/error/name/index.html new file mode 100644 index 0000000000..841cc7cbc4 --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/name/index.html @@ -0,0 +1,58 @@ +--- +title: Error.prototype.name +slug: Web/JavaScript/Referencia/Objetos_globales/Error/name +tags: + - Error + - JavaScript + - Propiedad + - Prototipo +translation_of: Web/JavaScript/Reference/Global_Objects/Error/name +--- +
{{JSRef}}
+ +

La propiedad name representa un nombre para el tipo de error. El valor inicial es "Error".

+ +

Descripción

+ +

De forma predeterminada, las instancias {{JSxRef("Error")}} reciben el nombre "Error". La propiedad name, además de la propiedad {{JSxRef("Error.prototype.message", "message")}}, la utiliza el método {{JSxRef("Error.prototype.toString()")}} para crear una representación de cadena del error.

+ +

Ejemplos

+ +

Lanzar un error personalizado

+ +
var e = new Error('Entrada mal formada'); // e.name es 'Error'
+
+e.name = 'ParseError';
+throw e;
+// e.toString() devolverá 'ParseError: Entrada mal formada'
+
+ +

Especificaciones

+ + + + + + + + + + +
Especificación
{{SpecName('ESDraft', '#sec-error.prototype.name', 'Error.prototype.name')}}
+ +

Compatibilidad del navegador

+ +
+
+ + +

{{Compat("javascript.builtins.Error.name")}}

+
+
+ +

Ve también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/prototype/index.html b/files/es/web/javascript/referencia/objetos_globales/error/prototype/index.html new file mode 100644 index 0000000000..075d9a9b3f --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/prototype/index.html @@ -0,0 +1,153 @@ +--- +title: Error.prototype +slug: Web/JavaScript/Referencia/Objetos_globales/Error/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Error +--- +
{{JSRef}}
+ +

La propiedad Error.prototype representa el prototipo del constructor {{jsxref("Error")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripción

+ +

Todas las instancias de {{jsxref("Error")}} e instancias de {{jsxref("Global_Objects/Error", "errores no genéricos", "#Error_types", 1)}}, heredan de Error.prototype. Como todas las funciones constructoras, se puede usar el protoipo del constructor para añadir propiedades o métodos a todas las instancias creadas con este constructor.

+ +

Properties

+ +

Propiedades estándar

+ +
+
Error.prototype.constructor
+
Especifica la función que crea una instancia del prototipo.
+
{{jsxref("Error.prototype.message")}}
+
Mensaje de error.
+
{{jsxref("Error.prototype.name")}}
+
Nombre del error.
+
+ +

Extensiones específicas del proveedor

+ +
{{non-standard_header}}
+ +

Microsoft

+ +
+
{{jsxref("Error.prototype.description")}}
+
Descripción del error. Similar a {{jsxref("Error.prototype.message", "message")}}.
+
{{jsxref("Error.prototype.number")}}
+
Número de error.
+
+ +

Mozilla

+ +
+
{{jsxref("Error.prototype.fileName")}}
+
Ruta del archivo que lanzó el error.
+
{{jsxref("Error.prototype.lineNumber")}}
+
Número de fila en el archivo que lanzó el error.
+
{{jsxref("Error.prototype.columnNumber")}}
+
Número de columna en el archivo que lanzó el error.
+
{{jsxref("Error.prototype.stack")}}
+
Seguimiento de la pila.
+
+ +

Métodos

+ +
+
{{jsxref("Error.prototype.toSource()")}} {{non-standard_inline}}
+
Devuelve una cadena que contiene el codígo del objeto {{jsxref("Error")}}; se puede usar este valor para crear un nuevo objeto. Sobreescribe el método {{jsxref("Object.prototype.toSource()")}}.
+
{{jsxref("Error.prototype.toString()")}}
+
Devuelve una cadena que representa el objeto. Sobreescribe el método {{jsxref("Object.prototype.toString()")}}.
+
+ +

Especificaciones

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificaciónEstadoComentario
{{SpecName('ES1')}}{{Spec2('ES1')}}Definición inicial. Implementado en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11.3.1', 'Error')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype', 'Error')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-error.prototype', 'Error')}}{{Spec2('ESDraft')}} 
+ +

Compatibilidad con navegadores

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Soporte básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Soporte básico{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Ver también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/tosource/index.html b/files/es/web/javascript/referencia/objetos_globales/error/tosource/index.html new file mode 100644 index 0000000000..fb1b429884 --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/tosource/index.html @@ -0,0 +1,60 @@ +--- +title: Error.prototype.toSource() +slug: Web/JavaScript/Referencia/Objetos_globales/Error/toSource +tags: + - JavaScript + - No estandar + - Prototipo + - metodo +translation_of: Web/JavaScript/Reference/Global_Objects/Error/toSource +--- +
{{JSRef}} {{non-standard_header}}
+ +

El método toSource() devuelve código que podría evaluar el mismo error.

+ +

Sintaxis

+ +
e.toSource()
+ +

Valor de retorno

+ +

Una cadena que contiene el código fuente del error.

+ +

Ejemplos

+ +

Usar toSource

+ +

Llamar al método toSource de una instancia {{JSxRef("Error")}} (incluido {{JSxRef("Global_Objects/Error", "NativeErrors", "#Error_types")}}) devolverá una cadena que contiene el código fuente del error. Esta cadena se puede evaluar para crear un objeto (aproximadamente) igual. Naturalmente, la cadena que contiene la fuente sigue la estructura del constructor {{JSxRef("Error")}}. Por ejemplo:

+ +
(newname(message ,fileName,lineNumber))
+
+ +

donde estos atributos corresponden a las propiedades respectivas de la instancia de error.

+ +
+

Nota: Ten en cuenta que las propiedades utilizadas por el método toSource en la creación de esta cadena son mutables y es posible que no reflejen con precisión la función utilizada para crear una instancia de error o el nombre de archivo o número de línea donde ocurrió un error real.

+
+ +

Especificaciones

+ +

No forma parte de ningún estándar.

+ +

Compatibilidad del navegador

+ +
+
+ + +

{{Compat("javascript.builtins.Error.toSource")}}

+
+
+ +

Ve también

+ + diff --git a/files/es/web/javascript/referencia/objetos_globales/error/tostring/index.html b/files/es/web/javascript/referencia/objetos_globales/error/tostring/index.html new file mode 100644 index 0000000000..f4ea4a44b9 --- /dev/null +++ b/files/es/web/javascript/referencia/objetos_globales/error/tostring/index.html @@ -0,0 +1,98 @@ +--- +title: Error.prototype.toString() +slug: Web/JavaScript/Referencia/Objetos_globales/Error/toString +tags: + - JavaScript + - Prototipo + - metodo +translation_of: Web/JavaScript/Reference/Global_Objects/Error/toString +--- +
{{JSRef}}
+ +

El método toString() devuelve una cadena que representa el objeto {{JSxRef("Error")}} especificado.

+ +

Sintaxis

+ +
e.toString()
+ +

Valor de retorno

+ +

Una cadena que representa el objeto {{JSxRef("Error")}} especificado.

+ +

Descripción

+ +

El objeto {{JSxRef("Error")}} redefine el método {{JSxRef("Object.prototype.toString()")}} heredado por todos los objetos. Su semántica es la siguiente (asumiendo que {{JSxRef("Object")}} y {{JSxRef("String")}} tienen sus valores originales):

+ +
Error.prototype.toString = function() {
+  'use strict';
+
+  var obj = Object(this);
+  if (obj !== this) {
+    throw new TypeError();
+  }
+
+  var name = this.name;
+  name = (name === undefined) ? 'Error' : String(name);
+
+  var msg = this.message;
+  msg = (msg === undefined) ? '' : String(msg);
+
+  if (name === '') {
+    return msg;
+  }
+  if (msg === '') {
+    return name;
+  }
+
+  return name + ': ' + msg;
+};
+
+ +

Ejemplos

+ +

Usar toString()

+ +
var e = new Error('fatal error');
+console.log(e.toString()); // 'Error: error fatal'
+
+e.name = undefined;
+console.log(e.toString()); // 'Error: error fatal'
+
+e.name = '';
+console.log(e.toString()); // 'error fatal'
+
+e.message = undefined;
+console.log(e.toString()); // ''
+
+e.name = 'hola';
+console.log(e.toString()); // 'hola'
+
+ +

Especificaciones

+ + + + + + + + + + + + +
Especificación
{{SpecName('ESDraft', '#sec-error.prototype.tostring', 'Error.prototype.toString')}}
+ +

Compatibilidad del navegador

+ +
+ + +

{{Compat("javascript.builtins.Error.toString")}}

+
+ +

Ve también

+ + -- cgit v1.2.3-54-g00ecf