Objetos de error de JavaScript

 

 

 

Objetos de error de javascript 1

Los diversos objetos Error que encontrarás en JavaScript

 

JavaScript nos proporciona 7 objetos de error, que se generan en una expresión try/catch según el tipo de error:

  • Error
  • EvalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

Analicemos a cada uno de ellos.

Error

Este es el error genérico y es del que heredan todos los demás objetos de error. Nunca verá una instancia de Errordirectamente, sino que JavaScript activa uno de los otros errores enumerados anteriormente, que heredan de Error.

Contiene 2 propiedades:

  • message:la descripción del error, un mensaje legible por humanos que debería explicar qué error ocurrió
  • name: el tipo de error ocurrido (asume el valor del nombre del objeto de error específico, por ejemplo, TypeErroro SyntaxError)

y proporciona solo un método toString(), que es responsable de generar una cadena significativa a partir del error, que puede usarse para imprimirla en la pantalla.

Error de evaluación

Este error está definido en JavaScript moderno, pero nunca lo genera JavaScript y permanece por motivos de compatibilidad. Se definió en ECMAScript 3, pero no está presente en el estándar desde ECMAScript 5.1.

Se utilizó para indicar que la función global eval()se utilizaba incorrectamente, de manera incompatible con su definición.

Error de rango

Se RangeErrordisparará cuando un valor numérico no esté dentro de su rango de valores permitidos.

El ejemplo más simple es cuando se establece la longitud de una matriz en un valor negativo:

[].length = -1 //RangeError: Invalid array length

o cuando lo estableces en un número mayor que4294967295

[].length = 4294967295 //4294967295[].length = 4294967296 //RangeError: Invalid array length

(este número mágico se especifica en la especificación de JavaScript como el rango máximo de un entero sin signo de 32 bits, equivalente a Math.pow(2, 32) - 1)

Estos son los errores de alcance más comunes que puedes detectar en la naturaleza:

  • RangeError: argument is not a valid code point
  • RangeError: invalid array length
  • RangeError: invalid date
  • RangeError: precision is out of range
  • RangeError: radix must be an integer
  • RangeError: repeat count must be less than infinity
  • RangeError: repeat count must be non-negative

Error de referencia

A ReferenceErrorindica que se ha detectado un valor de referencia no válido: un programa JavaScript está intentando leer una variable que no existe.

 

dog //ReferenceError: dog is not defineddog = 2 //ReferenceError: dog is not defined

Tenga en cuenta que la declaración anterior creará una dogvariable en el objeto global si no se ejecuta en modo estricto .

Estos son los errores de referencia más comunes que puedes detectar en la naturaleza:

  • ReferenceError: "x" is not defined
  • ReferenceError: assignment to undeclared variable "x"
  • ReferenceError: can't access lexical declaration 'X' before initialization
  • ReferenceError: deprecated caller or arguments usage
  • ReferenceError: invalid assignment left-hand side
  • ReferenceError: reference to undefined property "x"

Error de sintaxis

A SyntaxErrorse genera cuando se encuentra un error de sintaxis en un programa.

A continuación se muestran algunos ejemplos de código que generan un error de sintaxis.

Una declaración de función sin nombre:

function() { return 'Hi!'}//SyntaxError: function statement requires a name

Falta una coma después de la definición de una propiedad de un objeto:

const dog = { name: 'Roger' age: 5}//SyntaxError: missing } after property list

Estos son los errores de sintaxis más comunes que puedes detectar:Te recomendamos Todos sobre el antiguo egipto

  • SyntaxError: "0"-prefixed octal literals and octal escape seq. are deprecated
  • SyntaxError: "use strict" not allowed in function with non-simple parameters
  • SyntaxError: "x" is a reserved identifier
  • SyntaxError: JSON.parse: bad parsing
  • SyntaxError: Malformed formal parameter
  • SyntaxError: Unexpected token
  • SyntaxError: Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
  • SyntaxError: a declaration in the head of a for-of loop can't have an initializer
  • SyntaxError: applying the 'delete' operator to an unqualified name is deprecated
  • SyntaxError: for-in loop head declarations may not have initializers
  • SyntaxError: function statement requires a name
  • SyntaxError: identifier starts immediately after numeric literal
  • SyntaxError: illegal character
  • SyntaxError: invalid regular expression flag "x"
  • SyntaxError: missing ) after argument list
  • SyntaxError: missing ) after condition
  • SyntaxError: missing : after property id
  • SyntaxError: missing ; before statement
  • SyntaxError: missing = in const declaration
  • SyntaxError: missing ] after element list
  • SyntaxError: missing formal parameter
  • SyntaxError: missing name after . operator
  • SyntaxError: missing variable name
  • SyntaxError: missing } after function body
  • SyntaxError: missing } after property list
  • SyntaxError: redeclaration of formal parameter "x"
  • SyntaxError: return not in function
  • SyntaxError: test for equality (==) mistyped as assignment (=)?
  • SyntaxError: unterminated string literal

Error de tipo

A TypeErrorsucede cuando un valor tiene un tipo diferente al esperado.

 

El ejemplo más simple es intentar invocar un número:

1() //TypeError: 1 is not a function

Estos son los errores tipográficos más comunes que puedes detectar en la naturaleza:

  • TypeError: "x" has no properties
  • TypeError: "x" is (not) "y"
  • TypeError: "x" is not a constructor
  • TypeError: "x" is not a function
  • TypeError: "x" is not a non-null object
  • TypeError: "x" is read-only
  • TypeError: 'x' is not iterable
  • TypeError: More arguments needed
  • TypeError: Reduce of empty array with no initial value
  • TypeError: can't access dead object
  • TypeError: can't access property "x" of "y"
  • TypeError: can't define property "x": "obj" is not extensible
  • TypeError: can't delete non-configurable array element
  • TypeError: can't redefine non-configurable property "x"
  • TypeError: cannot use 'in' operator to search for 'x' in 'y'
  • TypeError: cyclic object value
  • TypeError: invalid 'instanceof' operand 'x'
  • TypeError: invalid Array.prototype.sort argument
  • TypeError: invalid arguments
  • TypeError: invalid assignment to const "x"
  • TypeError: property "x" is non-configurable and can't be deleted
  • TypeError: setting getter-only property "x"
  • TypeError: variable "x" redeclares argument

Error URIE

Este error se genera al llamar a una de las funciones globales que trabajan con URI:

  • decodeURI()
  • decodeURIComponent()
  • encodeURI()
  • encodeURIComponent()

y pasando una URI no válida.

Tips para principiantes de JavaScript




Tal vez te puede interesar:

  1. Cómo generar un número aleatorio entre dos números en JavaScript
  2. Cómo esperar el evento DOM listo en JavaScript simple
  3. Cómo determinar si una fecha es hoy en JavaScript
  4. Cómo contar el número de propiedades en un objeto JavaScript

Objetos de error de JavaScript

ErrorError de evaluaciónError de rangoError de referenciaError de sintaxisError de tipoError URIE ErrorError de evaluaciónError de rangoError de referenciaEr

programar

es

2025-01-21

 

Objetos de error de javascript 1
Objetos de error de javascript 1

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences