Hacer frente a los mensajes de error en la programación Java

March 10

A veces, los mensajes de error pueden infundir miedo en el corazón de incluso el programador más valiente. Afortunadamente algunos, consejos calmante útil es aquí - consejos para ayudar a resolver el problema cuando vea uno de estos mensajes.

NoClassDefFoundError

Usted recibe este error cuando se está tratando de ejecutar su código. Así que primero te preguntas, qué intenta compilar el código? Si es así, ¿has visto algún mensaje de error al compilar? Si usted vio los mensajes de error, busque cosas que se pueden arreglar en el archivo .java. Trate de arreglar estas cosas, y luego compilar el archivo .java de nuevo.

Si normalmente mantener código en el directorio JavaPrograms, asegúrese de que usted todavía está trabajando en este directorio JavaPrograms. (En Windows, asegúrese de que el símbolo del sistema, dice JavaPrograms.)

Asegúrese de que tiene un archivo .class apropiado nombre de su directorio de trabajo. Por ejemplo, si usted está tratando de ejecutar un programa llamado MyGreatProg, busque un archivo llamado MyGreatProg.class en su directorio de trabajo.

Compruebe la ruta de clases para asegurarse de que contiene el archivo .class que usted necesita. Por ejemplo, si todo el código de Java está en el directorio de trabajo, asegúrese de que la ruta de clases incluye un punto.

NoSuchMethodError

Cuando se produce este mensaje de error, compruebe la falta de ortografía o de capitalización inconsistente de un nombre de método. Compruebe la capitalización del principal (no principal).

Cuando se emite el comando java (o hacer lo que hace normalmente para ejecutar un programa en su entorno), ¿la clase que usted está tratando de ejecutar contiene su propio método principal? Si no, entonces encontrar la clase con el método principal y ejecutar esa clase en su lugar.

No se puede resolver Símbolo

Si recibe un mensaje de error que incluye no puede resolver símbolo, comprobar la ortografía y capitalización de todos los identificadores y palabras clave. Luego puedes volver a intentarlo.

Si el símbolo no resuelto es una variable, asegúrese de que la declaración de esta variable está en el lugar correcto. Por ejemplo, si la variable se declara en una para la inicialización del bucle, estás tratando de utilizar esa variable fuera del bucle for? Si la variable se declara dentro de un bloque (un par de llaves), está tratando de utilizar esa variable fuera del bloque?

Por último, buscar errores en la declaración de la variable. Si el compilador encuentra errores en la declaración de una variable, el compilador no puede resolver ese nombre variable en el resto del código.

Se esperaba ';' (O se espera algo más)

Cuando vea un mensaje de error que dice ';' era de esperar, ir a través de su código y asegurarse de que cada estado y cada declaración termina con un punto y coma. Si es así, entonces tal conjetura del compilador sobre un punto y coma que falta es incorrecta. Fijación otro error (aparentemente sin relación) y volver a compilar el código puede deshacerse de un falso ';' mensaje esperado.

Para un paréntesis que falta, verificar las condiciones de las sentencias if y los bucles. Asegúrese de que cada estado está entre paréntesis. Además, asegúrese de que la lista de parámetros (entre paréntesis) sigue el nombre de cada método.

Para un <identifier> mensaje esperado, revisar sus sentencias de asignación. Asegúrese de que cada instrucción de asignación es dentro de un método. (Recuerde, una declaración con una inicialización puede estar fuera de un método, pero cada sentencia de asignación simple y llano debe ser dentro de un método.)

Para la "clase" o "interfaz" mensaje esperado, asegúrese de que están escritos la clase palabra correctamente. Si su código tiene una declaración de importación, comprobar la ortografía y la capitalización de la palabra de importación.

Falta Método Cuerpo o Declarar abstracta

Usted obtiene un cuerpo de método que falta o declarar mensaje abstracto cuando el compilador ve una cabecera del método, pero el compilador no puede encontrar el cuerpo del método. Mira al final de la cabecera del método. Si terminó la cabecera con un punto y coma, y ​​luego intente eliminar el punto y coma.

Si la cabecera no termina con un punto y coma, a continuación, compruebe el código inmediatamente después de la cabecera. El código inmediatamente después de la cabecera debe comenzar con una llave de apertura (el comienzo de un cuerpo de método). Si algún código se interpone entre la cabecera y abierto corchete del cuerpo, considere mover ese código en otro lugar.

Una 'persona' sin un 'si'

Compare el número de cláusulas si con el número de cláusulas else. Una cláusula si no necesita tener una cláusula else, pero cada cláusula else debe pertenecer a una cláusula if.

Recuerde, se encierra una si la condición entre paréntesis, pero usted no pone un punto y coma después de la condición. ¿Sabía usted por error termina un caso de condiciones, con un punto y coma?

Mira todas las líneas entre un caso y su persona. Cuando encuentre más de una sentencia entre un caso y su persona, buscar llaves. Si los estados entre el si y su persona no están rodeadas por llaves, puedes haber encontrado al culpable.

Variable no estático no pueden ser referenciadas desde un contexto estático

Un montón de cosas que usted puede dar una variable no estático no puede hacer referencia a partir de un mensaje de error contexto estático. Pero para los programadores principiantes, la causa más común es tener una variable que se declara fuera del método principal. No es ningún pecado para declarar una variable tal, sino porque el método principal es siempre estática, necesita un poco de ayuda especial para hacer que el método principal se refiere a una variable que se declara fuera del método principal.

La solución más rápida es poner la palabra estática frente a la declaración de la variable. Pero en primer lugar, pregúntese por qué la declaración de esta variable no está dentro del método principal. Si no hay una buena razón, a continuación, mueva la declaración de la variable para que sea dentro del método principal.

FileNotFoundException (El sistema no puede encontrar el archivo especificado) o EOFException

Si encuentra un mensaje FileNotFoundException, compruebe que el archivo nombrado en su código realmente existe. (Busque el archivo que utiliza el explorador de su sistema o utilizando la ventana de símbolo del sistema.) Vuelva a comprobar la ortografía de su código contra el nombre del archivo en el disco duro.

Si has encontrado un archivo con el nombre correctamente en su disco duro, asegúrese de que el archivo está en el directorio correcto. (Para un programa que se ejecuta en su directorio de trabajo, un archivo de datos típico está en el directorio de trabajo también.)

Si usted es un usuario de Windows, asegúrese de que el sistema no se añade una extensión .txt adicional al crear el archivo. (Use la ventana de símbolo del sistema para comprobar el nombre del archivo. Explorador de Windows puede ocultar la extensión .txt, y que siempre se presta a confusión.)

Para una EOFException, probablemente estás tratando de leer más datos de los que tiene en el archivo. Muy a menudo, un pequeño error de lógica hace que su programa de hacer esto. Así que hacer una revisión cuidadosa de todos los pasos en la ejecución de su programa. Busque cosas sutiles, como bucles incorrectamente cebados o la lectura de valores de matriz pasado el índice más grande de la matriz. Busque condiciones que utilizan <= cuando deberían usar <. Condiciones como éstas a menudo pueden ser molestos.