Descargar

Códigos de error y aviso

Cada mensaje del compilador lleva un código (error[E0205], aviso[W0303]). Aquí están todos, agrupados por tipo. Donde pone «…» va el nombre o el valor concreto de tu programa.

Este archivo se genera con python tools/gen_docs.py: no lo edites a mano.

Léxico: caracteres, números y textos mal escritos

CódigoMensajeCómo arreglarlo
E0001Comentario de bloque sin cerrar<br>No se puede leer el archivo '…'añade */ al final del comentario
E0002Número mal formado<br>…Dígito '…' no válido en este número<br>Un número no puede ir seguido de letrassepara el número del identificador con un espacio u operador
E0003Escape \u{...} sin cerrar<br>Escape \u sin dígitos hexadecimales<br>…Secuencia de escape desconocida '\…'escapes válidos: \n \t \r \0 \\ \" \' \$ \u{XXXX}
E0004Interpolación ${...} sin cerrar<br>Interpolación vacía ${}añade '}'
E0005Texto sin cerrar…falta la comilla de cierre …
E0006Carácter inesperado '…'

Sintaxis: la estructura del código

CódigoMensajeCómo arreglarlo
E0100…
E0101La constante '…' necesita un valor inicialconst … = valor
E0102El parámetro '…' necesita un valor por defecto porque va después de otro que lo tiene<br>Un parámetro '...' no puede tener valor por defecto<br>El parámetro '...' debe ser el último
E0103Solo puede haber un '...' y debe ir al final<br>El '...' debe ser el último de la lista<br>La desestructuración necesita al menos un nombre
E0104'step' solo se puede usar con rangos (a..b)
E0105La clase '…' ya tiene un constructor
E0106No se puede asignar a esta expresiónsolo se puede asignar a variables, propiedades (obj.x) o índices (lista[i])
E0107Los argumentos posicionales deben ir antes que los argumentos con nombre

Nombres y declaraciones

CódigoMensajeCómo arreglarlo
E0201Ya existe una variable llamada '…' en este bloqueusa otro nombre o asigna sin 'var'
E0202No se puede usar el miembro de instancia '…' en un método estáticolos métodos 'static' no tienen 'this'
E0203La variable '…' se usa antes de declararla (línea …)mueve la declaración 'var …' más arriba
E0204'…' ya está declarado… en la línea …cada nombre global debe ser único en el archivo
E0205No existe ninguna variable llamada '…'<br>No existe nada llamado '…'…declárala primero con: var … = ...…¿quisiste decir '…'? Para crearla usa: var … = ...
E0206…No se encontró el módulo '…'…
E0207El módulo '…' no exporta '…'
E0208Valor repetido '…' en el enum
E0209El valor de un enum debe ser un número o un texto literal
E0210'import' solo puede usarse en el nivel superior del archivo
E0212No se puede reasignar la constante '…'<br>El campo '…' es constanteusa 'var' si necesitas cambiar su valor
E0213'…' se declaró con 'let' y solo puede asignarse una vezusa 'var' si necesitas cambiar su valor
E0214No se puede asignar a '…' (es …una función…un módulo…un tipo)<br>No se puede reasignar el integrado '…'<br>No se puede asignar al método '…'
E0215'….…' es de solo lectura<br>'…' es de solo lectura<br>La propiedad '…' solo tiene 'get' (es de solo lectura)añade: set …(valor) { ... }
E0216Los textos no se pueden modificar por índicecrea un texto nuevo, p. ej. con replace()
E0217'…' se usa antes de asignarle un valor
E0218'this' solo puede usarse dentro de los métodos de una clase
E0219'await' solo puede usarse dentro de funciones 'async'…declara la función como: async function …(...)…marca la función como async

Tipos y expresiones

CódigoMensajeCómo arreglarlo
E0301Tipo desconocido '…'…¿quisiste decir '…'?
E0302Tipo incorrecto en …: se esperaba … pero es …
E0303Esta expresión no devuelve ningún valor (void)
E0304'…' es int pero el valor tiene decimalesusa number o round(...)
E0305Asignación dentro de una condiciónpara comparar usa '=='
E0306Los límites de un rango deben ser números, no …<br>repeat necesita un número, no …<br>Los límites de un rango deben ser números
E0307No se puede recorrer un valor de tipo ……para repetir N veces usa: for i in 0..n { }…
E0308'break' fuera de un bucle<br>'continue' fuera de un bucle
E0309'return' fuera de una función
E0310Un constructor no puede devolver un valor<br>La función '…' es void y no puede devolver un valor<br>El tipo … no tiene '…'quita el valor o cambia el tipo de retorno<br>…¿quisiste decir '…'?
E0311La función '…' debe devolver un valor de tipo …<br>No se puede acceder a '…' porque el valor es nullusa ?. para acceso seguro: obj?.…
E0312Un valor de enum solo tiene 'name', 'value' y 'ordinal'
E0313El enum '…' no tiene el valor '…'…¿quisiste decir '…'?
E0314'…' no tiene ningún miembro llamado '…'…¿quisiste decir '…'?
E0315… no tiene ningún miembro llamado '…'…¿quisiste decir '…'?
E0316'…' no tiene ningún miembro estático llamado '…'…¿quisiste decir '…'?
E0317'…' es un miembro de instancia; necesitas un objeto de '…'crea uno con …(...)
E0318'…' es …privado…protegido en '…'
E0320…El operador '…-…~…+' necesita un número, no …<br>…'…++…--' necesita un número y '…' es …
E0321…No se puede … … y …<br>No se puede usar '+=' con … y …<br>Este operador necesita números (…, …)…para convertir texto a número usa toNumber(...)…
E0322No se puede comparar … con …
E0323'in' necesita una lista, mapa, conjunto, texto o rango a la derecha
E0324Los operadores de bits necesitan númerospara lógica usa 'and' / 'or'
E0325El índice de una lista debe ser un número, no …<br>No se puede indexar un valor de tipo …
E0326No se pueden declarar variables dentro de un caso de 'match' usado en medio de una expresiónguarda el resultado en una variable: var r = match x { ... }

Clases, objetos y miembros

CódigoMensajeCómo arreglarlo
E0401'emit' necesita un evento, pero esto es …declara el evento con: event Nombre(param: tipo)
E0402Demasiados argumentos para …: acepta … y se pasaron …<br>La clase '…' no tiene constructor y no acepta argumentosfirma: …<br>añade: constructor(...) { ... }
E0403… no tiene ningún parámetro llamado '…'…firma: …¿quisiste decir '…'?
E0404El parámetro '…' ya recibió un valor
E0405Faltan argumentos para …: …firma: …
E0406No se puede llamar a null<br>Un módulo no es una función<br>… no es una función (es …)
E0407Los eventos no se llaman: usa 'emit …Evento(...)'
E0408'on' necesita un evento, pero esto es …declara el evento con: event Nombre(param: tipo)
E0409Demasiados argumentos (máximo 255)

Funciones, módulos y control de flujo

CódigoMensajeCómo arreglarlo
E0501La clase base '…' no existe
E0502'…' es una interfaz: usa 'implements', no 'extends'
E0503No se puede heredar de la clase integrada '…'
E0504Herencia circular: '…' no puede heredar de sí misma
E0505'…' no es una interfaz conocida
E0506El miembro '…' está repetido
E0507La clase '…' no implementa '…' de la interfaz '…'añade: function …() { ... }
E0508Las clases solo pueden declararse en el nivel superior del archivo
E0509super(...) solo puede llamarse dentro de un constructor
E0510La clase '…' no hereda de ninguna otra<br>'super' solo puede usarse en clases que heredan de otra<br>'super' no está disponible aquí
E0511No se puede crear un objeto de la interfaz '…'

Límites del compilador

CódigoMensajeCómo arreglarlo
E0900Función demasiado grande (más de 65535 constantes o saltos)<br>Salto demasiado largo en el bytecode<br>Bucle demasiado largodivide el código en funciones más pequeñas
E0999Error interno del compilador: desajuste de pila (slot … / …)por favor, reporta este fallo con el código que lo produce

Avisos (el programa se ejecuta igualmente)

CódigoMensajeCómo arreglarlo
W0301Código inalcanzable: nunca se ejecutaestá después de un return/throw/break/continue
W0302La función '…' declara que devuelve … pero puede terminar sin 'return'añade 'return valor' al final
W0303Esta comparación no tiene efecto<br>Esta expresión no tiene efecto¿querías asignar con '=' en vez de comparar con '=='?
W0304La clase '…' no declara '…'…decláralo en la clase: var … ... o function …() { ... }…¿quisiste decir '…'?
W0305'…' es estático; accede con ….…
W0306Comparar … con … siempre da …false…true