Saltar al contenido
buscar-soluciones.en · devschool

Buscar soluciones a errores en inglés

Lección 15 de 23 · 11 min de lectura · Actualizado el

En esta lección
  1. Paso 1: copia el mensaje, no lo traduzcas
  2. Paso 2: quita lo que es solo tuyo
  3. Paso 3: comillas y operadores de búsqueda
  4. Palabras útiles para buscar
  5. Paso 4: leer una respuesta de Stack Overflow
  6. Otras fuentes
  7. Pedir ayuda a una IA
  8. Un ejemplo completo
  9. Errores frecuentes
  10. Resumen

Un programador no sabe todas las respuestas: sabe buscarlas. Y casi todas las respuestas están en inglés: Stack Overflow, GitHub issues, la documentación oficial, blogs. Esta lección te enseña a convertir un error en una búsqueda eficaz, a leer una respuesta aunque no entiendas cada palabra y a pedir ayuda a una IA con el contexto adecuado, tanto en inglés como en español.

Antes conviene dominar la lectura del error en sí: mira Mensajes de error y el método de depurar JavaScript.

Paso 1: copia el mensaje, no lo traduzcas

El error de partida es el mensaje original en inglés. No lo traduzcas al español y lo busques: nadie lo escribió así. Copia y pega el texto exacto.

Supón que ves esto en la consola:

Uncaught TypeError: Cannot read properties of undefined (reading 'name')
    at showUser (app.js:12:24)

Del mensaje completo, lo que importa es la parte que no cambia de un programa a otro:

Cannot read properties of undefined (reading 'name')

Paso 2: quita lo que es solo tuyo

El mensaje contiene cosas de tu proyecto que nadie más tiene. Quítalas, porque hacen que la búsqueda no encuentre nada.

QuitaPor quéEjemplo
Rutas de archivossolo existen en tu equipoC:\Users\ana\proyecto\app.js
Nombres de tus variablesson tuyosshowUser, miLista
Números de línea y columnacambian en cada códigoapp.js:12:24
Nombres de usuario, contraseñas, tokensprivados, nunca los peguessk_live_...
Identificadores de objetosúnicos0x7ffee3b2

Y conserva:

ManténPor qué
El tipo de errorTypeError, SyntaxError, KeyError…
La frase fija del mensajees lo que todos ven
El lenguaje o la herramientajavascript, python, react, mysql
La versión, si importanode 22, php 8.4

Una búsqueda buena sería:

javascript TypeError Cannot read properties of undefined (reading 'name')

Mejor aún si añades el contexto en el que aparece: react, fetch, array.map.

Cuidado: nunca pegues claves de API, contraseñas ni datos personales en un buscador, un foro o una IA. Sustitúyelos por YOUR_API_KEY o ***.

Paso 3: comillas y operadores de búsqueda

Google tiene trucos que ahorran mucho tiempo:

TrucoQué haceEjemplo
"comillas"busca la frase exacta"is not a function"
-palabraexcluye una palabrapython list -tutorial
site:busca solo en una website:stackoverflow.com
ORcualquiera de las dosfetch OR axios
*comodín"cannot find module *"
after:2024resultados posteriores a una fechareact hooks after:2024

Ejemplos reales:

"UNIQUE constraint failed" sqlite python
"Failed to fetch" fetch cors site:stackoverflow.com
"no such table" sqlite -django

Con comillas se obtienen resultados muy cercanos a tu error; sin ellas, Google reordena y mezcla palabras. Empieza con comillas, y si no sale nada, quítalas.

Consejo: si la primera búsqueda no da buenos resultados, cambia una cosa cada vez: quita una palabra, añade el nombre del framework, prueba sin comillas. Cambiarlo todo a la vez no te enseña qué funcionó.

Palabras útiles para buscar

Para buscar un problema que no es un error literal, necesitas las palabras que se usan en inglés:

Quieres decirBusca
cómo hacer algohow to <do something> in JavaScript
diferencia entre A y Bdifference between let and const
qué significawhat does <x> mean in Python
mejor manera debest way to <do something>
no funcionanot working, doesn't work, fails
se queda en blancoblank page, empty, nothing happens
no se actualizanot updating, doesn't refresh
ejemploexample, sample
tutorial para principiantestutorial for beginners
alternativa aalternative to <tool>
cómo instalarhow to install <tool> on Ubuntu

Cuando no sabes cómo se llama algo, descríbelo: "button stays blue after click css". Con el nombre que te devuelvan (:focus, :active), afinas la siguiente búsqueda.

Paso 4: leer una respuesta de Stack Overflow

Stack Overflow es un sitio de preguntas y respuestas. Las páginas tienen siempre la misma estructura:

ElementoInglésQué significa
Títuloquestionla pregunta
Número arriba a la izquierdavotesvotos: cuánta gente la valora
Marca verdeaccepted answerla respuesta que el autor dio por buena
Texto bajo la respuestacommentscomentarios, a menudo con avisos importantes
Etiquetastagstemas (javascript, arrays)
Fechaasked / modifiedcuándo se preguntó / editó

Cómo trabajar una respuesta:

  1. Comprueba que la pregunta se parece a la tuya: mismo lenguaje, mismo error.
  2. Mira la fecha. Una respuesta de 2012 sobre jQuery o var puede estar anticuada. Mejor las recientes o con muchos votos.
  3. No te quedes solo con la aceptada. A veces hay otra con más votos y más moderna.
  4. Lee el código antes que el texto. Si lo entiendes, probablemente entiendes la solución.
  5. Lee los comentarios. Dicen cosas como This no longer works in version 5 (“esto ya no funciona en la versión 5”).
  6. No copies sin entender. Pruébalo en un archivo aparte.

Frases típicas de las respuestas y su traducción:

FraseTraducción
The problem is that...El problema es que…
You need to... / You should...Necesitas… / Deberías…
Try this:Prueba esto:
As of version 5, ...A partir de la versión 5…
This is deprecated.Esto está obsoleto.
Instead, use ...En su lugar, usa…
Note that ...Ten en cuenta que…
It depends on ...Depende de…
Make sure that ...Asegúrate de que…
This works for me.A mí me funciona.
Edit: ...Actualización: …
Duplicate of ...Duplicada de…
As a workaround, ...Como solución temporal, …
The accepted answer is outdated.La respuesta aceptada está anticuada.

Un ejemplo de respuesta corta, escrita por mí, como las que verás:

The error means that `user` is undefined when you access `user.name`.
Make sure the data has loaded first. You can use optional chaining:

    console.log(user?.name);

Note that this only hides the error. You should still find out
why `user` is undefined.

Traducción: el error significa que user está sin definir cuando accedes a user.name. Asegúrate de que los datos se han cargado antes. Puedes usar encadenamiento opcional… Ten en cuenta que esto solo oculta el error. Aun así deberías averiguar por qué user no está definido.

Nota: traducir con el navegador está bien para entender el texto, pero no traduzcas el código. A veces los traductores automáticos cambian nombres de funciones dentro de bloques de código.

Otras fuentes

FuenteCuándo usarla
Documentación oficial (MDN, docs.python.org…)para saber cómo funciona algo de verdad
GitHub issuessi el error viene de una librería concreta
Release notes / changelogtras actualizar y que algo se rompa
Reddit, Discord, comunidadespara consejos o discusión
Blogs y vídeospara explicaciones largas

En GitHub, busca en la pestaña Issues con el error entre comillas. Si ves un issue con el mismo mensaje, léelo y mira si hay workaround o si está closed (cerrado, resuelto) u open (abierto, sin resolver). Aprenderás más sobre cómo escribir uno en Preguntar en foros.

Pedir ayuda a una IA

Un asistente de IA puede explicarte un error, proponer una solución o traducirte la documentación. Funciona mucho mejor si le das contexto. Puedes escribir en español: los modelos lo entienden bien. Pero si vas a copiar el resultado en un foro, o quieres practicar, escribe en inglés. Lo importante es la información, no el idioma.

Un buen mensaje tiene cinco partes:

ParteQué incluir
Goal (objetivo)qué quieres conseguir
Context (contexto)lenguaje, versión, framework, qué haces
Code (código)el trozo mínimo relevante
Errorel mensaje exacto, completo
Tried (qué probaste)lo que ya has intentado

Ejemplo en inglés:

I'm learning JavaScript. I want to show the user's name on the page.
I'm using fetch with a public API in the browser (Chrome).

Code:
    const res = await fetch("/api/user");
    const user = await res.json();
    nameEl.textContent = user.name;

Error:
    Uncaught TypeError: Cannot set properties of null (setting 'textContent')

I already checked that the API returns data. Can you explain why
nameEl is null and how to fix it? Please explain it simply.

Y el mismo mensaje en español, igualmente bueno:

Estoy aprendiendo JavaScript. Quiero mostrar el nombre del usuario en la página.
Uso fetch en el navegador (Chrome). Este es el código y este el error: ...
Ya comprobé que la API devuelve datos. ¿Por qué nameEl es null? Explícamelo con sencillez.

Consejos para sacarle partido:

  • Pide que te explique, no solo que te arregle: Explain why this happens (“explica por qué ocurre”).
  • Pide un ejemplo mínimo: Show me a minimal example.
  • Verifica la respuesta. Una IA puede inventar funciones que no existen; comprueba en la documentación.
  • Dile tu nivel: I'm a beginner evita respuestas demasiado avanzadas.
  • No pegues secretos. Claves, contraseñas, datos de clientes.
  • Si no funciona, dile qué pasó: That gave me a different error: ....

Frases útiles para pedir ayuda:

InglésTraducción
Can you explain this error?¿Puedes explicarme este error?
What does this mean?¿Qué significa esto?
Why is this happening?¿Por qué ocurre esto?
How can I fix it?¿Cómo lo arreglo?
Is there a simpler way?¿Hay una forma más simple?
Can you give me an example?¿Puedes darme un ejemplo?
Explain it like I'm a beginner.Explícamelo como si fuera principiante.
Show me step by step.Muéstramelo paso a paso.

Un ejemplo completo

Imagina que ves en Python:

Traceback (most recent call last):
  File "notes.py", line 3, in <module>
    print(1 / 0)
ZeroDivisionError: division by zero
  1. Elige la línea final: ZeroDivisionError: division by zero.
  2. No hay rutas ni variables tuyas que quitar.
  3. Búscala: python ZeroDivisionError division by zero.
  4. Entras en la documentación o en Stack Overflow; ves que intentas dividir entre cero; compruebas con print qué vale el divisor y añades un if divisor != 0.

Tardaste dos minutos, y mucho más sencillo que preguntar en un foro.

Errores frecuentes

  • Traducir el error al español antes de buscarlo. Busca siempre el texto original en inglés.
  • Pegar la traza entera con rutas personales. Quita rutas, nombres y números de línea.
  • Escribir “no funciona” y nada más. Di qué esperabas y qué ocurre; mira Preguntar en foros.
  • Copiar la primera respuesta sin mirar la fecha. Podría ser de otra versión.
  • Confiar ciegamente en la IA. Comprueba en la documentación oficial.
  • Cambiar muchas cosas a la vez entre búsquedas. Cambia una cada vez.
  • Compartir secretos (tokens, contraseñas) en una pregunta pública.

Resumen

PasoQué hacer
1Copiar el mensaje original en inglés
2Quitar rutas, variables propias, líneas y secretos
3Añadir lenguaje o framework; usar "comillas" para la frase exacta
4Mirar la fecha, los votos y los comentarios de la respuesta
5Probar en un archivo aparte antes de copiar
IAObjetivo, contexto, código, error y lo que ya probaste

Siguiente lección: Preguntar en foros.

Pon a prueba lo que has aprendido

[Inglés] ¿Qué hacen las comillas en una búsqueda de Google, como "is not a function"?

[Inglés] Tienes este error: TypeError: Cannot read properties of undefined (reading 'name') at showUser (C:\Users\ana\app.js:12:24). ¿Qué parte quitarías para buscarlo?

[Inglés] Encuentras una respuesta de Stack Overflow de 2012 con muchos votos. ¿Qué es lo más prudente?

[Inglés] Vas a pedir ayuda a una IA con un error. ¿Qué mensaje es mejor?

¿Te ha quedado claro? Márcala y verás tu progreso en el explorador.