Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Errores comunes con la programación con Java
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Errores comunes en la programación con Java

Si ha estado trabajando con Java por algún tiempo, es seguro que habrá cometido estos errores al menos un par de veces. Los errores de programación en Java, así como en otros lenguajes, ocurren más que todo en la sintaxis y errores en la lógica. Los errores en la sintaxis son causados cuando el compilar Java (javac) no puede reconocer la sentencia. Esto causa que el compilador devuelva un mensaje de error, usualmente con una línea de código de referencia. También se conoce a los errores de sintaxis como errores en tiempo de compilación.

Los errores de lógica son conocidos como BUGS. Estos son los errores que nos tomarán tiempo hasta encontrarlos. Si damos a elegir, cualquier programador elegiría los errores en tiempo de compilación. A mi me ha tomado hasta varios días hacer el debug cuando suceden errores de lógica, y eso, usando todas las herramientas disponibles: archivos logs, mensajes System.out, debuggers, etc.

Los siguientes errores aparecen en la mayoría de programadores cada cierto tiempo, pero podemos verlo regularmente en el código de los programadores novatos.

Tenemos que cuidarnos de estos errores para evitarlos y pulir nuestro código.

 

El nombre de la Clase pública no coincide con el nombre del archivo


Cada archivo .java puede contener sólo una Clase pública. El nombre de esa Clase pública debe coincidir exactamente con el nombre del archivo antes de la extensión .java, respetando incluso las mayúsculas y minúsculas. Por ejemplo, una Clase pública llamada MyClass debe estar en un archivo MyClass.java y no en myclass.java. Este es un error de sintaxis.

Una Clase no está en el directorio correcto


Este error de sintaxis ocurre si el comando javac no puede encontrar un archivo .java en el directorio esperado. Si una Clase está en el paquete por defecto (no tiene la declaración del package en la primera línea), entonces esta Clase pertenece al directorio actual de trabajo o al directorio donde apunta el flag sourcepath del javac. Si una Clase está a un paquete, entonces pertenece a un subdirectorio debajo del directorio actual de trabajo o a un subdirectorio debajo del directorio donde apunta el flan sourcepath del javac. Por ejemplo, si existe una Clase llamada com.hello.HelloWorld entonces su nombre es HelloWorld y su paquete es com.hello. Si el flan sourcepath está configurada a c:src, entonces el archivo HelloWorld.java debe estar ubicado en el subdirectorio: c:srccomhello.

Usando equals contra la asignación ( == versus = )


En Java este error puede ser incluso un error de lógica o sintaxis. Para comparar 2 referencias para igualarlas se usa el operador == (el operador de igualdad). Para asignar el valor de la derecha a la variable de la izquierda se usa el operador = (operador de asignación). Los programadores novatos a veces escriben: if (miValor = valorEsperado) Este código intenta evaluar el valorEsperado como un valor booleano en lugar de intentar la evaluación de igualdad entre miValor y valorEsperado. Si valorEsperado es del tipo booleano, entonces el código tendrá un error de lógica y probará si el valorEsperado es verdadero o falso. Si valorEsperado no es del tipo booleano, entonces el código lanzará un error de compilación debido a que la estructura if requiere un valor booleano que sea retornado de la comparación (miValor = valorEsperado), pero en Java el operador = siempre retorna el valor de la derecha.



Usuarios que han visto este tema también han visto...

- Java en Hebras
- Centrar una ventana en la pantalla
- Escribir Applets paso a paso
- ¿Qué es el path y el classpath de Java?
- Incorporando RSS Feeds a Web Apps basados en JSP utilizando JSP Tags


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 02-12-2008 a las 05:29:04