Objetos de error de JavaScript

Los diversos objetos de error que encontrará en JavaScript

JavaScript gives us 8 objetos de error, que se generan en una expresión try / catch dependiendo del tipo de error:

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

Analicemos cada uno de esos.

Error

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

Contiene 2 propiedades:

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

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

EvalError

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

Se usó para indicar que la función globaleval()se usó incorrectamente, de una manera incompatible con su definición.

RangeError

ARangeErrorse activará cuando un valor numérico no esté en su rango de valores permitidos.

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

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

o cuando lo configura en un número superior a4294967295

[].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 aMath.pow(2, 32) - 1)

Estos son los errores de rango más comunes que puede detectar en la naturaleza:

ReferenceError

AReferenceErrorindica 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 defined
dog = 2 //ReferenceError: dog is not defined

Tenga en cuenta que la declaración anterior creará unadogvariable en el objeto global si no se ejecutó enModo estricto.

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

SyntaxError

ASyntaxErrorse 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 una definición de propiedad de objeto:

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

Estos son los errores de sintaxis más comunes que puede detectar en la naturaleza:

TypeError

ATypeErrorocurre 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 de tipo más comunes que puede detectar en la naturaleza:

URIError

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

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

y pasar un URI no válido.


Más tutoriales de js: