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 Error
directamente, 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,TypeError
oSyntaxError
)
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 RangeError
disparará 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 ReferenceError
indica 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 dog
variable 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 SyntaxError
se 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 TypeError
sucede 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:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- 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

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