Programación java: cuando se producen errores

Los errores en las aplicaciones Java pueden ocurrir en distintos momentos. Sin embargo, se puede clasificar en términos generales, cuando se produce un error en dos categorías, en tiempo de compilación y tiempo de ejecución, como se describe en las siguientes secciones.

Compilar los errores de tiempo

El compilador convierte el código de aplicación en código de bytes de Java. Durante este proceso, se necesita el código legible por humanos que se escribe y lo convierte en algo que el entorno de ejecución de Java (JRE) entiende.

Para llevar a cabo este proceso, el compilador debe analizar gramaticalmente el código, lo que significa que lee el código de una manera inequívoca que determina con precisión lo que desea que la aplicación pueda hacer, cuando lo desee hacerlo, y cómo desea que la tarea cumplida. Si usted rompe las reglas para escribir código sin ambigüedades, el compilador mostrará un mensaje de error. Este mensaje es en realidad una especie de excepción.

análisis medios para leer la entrada que proporciona, como el código en forma legible por humanos, y convertirla en otra cosa, como el código de bytes de Java. Una aplicación también puede analizar la entrada del usuario. Por ejemplo, un usuario podría escribir una cadena que el código de aplicación se convierte en un número.

Por lo tanto, el análisis sintáctico es el acto de la lectura de algún tipo de entrada, la interpretación de que la entrada de una manera específica, y luego la producción de salida en base a la entrada interpretado. Un analizador genera un error cuando la entrada no es lo que espera.

Por ejemplo, si el usuario introduce una cadena que contiene la letra C, y se espera una cadena que contiene un número, como el 123, el analizador generará una excepción diciendo que la entrada es incorrecto.

Tiempo de compilación errores son los más fáciles de manejar, ya que el compilador normalmente te dice exactamente lo que está mal y donde se ha producido el error. Incluso si la información no es exacta, el compilador al menos llegar a la zona derecha del código roto de manera que se puede buscar el error que contiene.

Para asegurarse de que todo el mundo entiende exactamente cómo se supone que el lenguaje Java para trabajar, los desarrolladores crear una especificación para él. Esta especificación incluye los elementos del lenguaje en un lenguaje especial llamado Backus-Naur Form (BNF). El uso de BNF es un método extremadamente precisa de describir un lenguaje de modo que no hay ningún riesgo de una mala interpretación por cualquier persona.

Se puede ver una muestra de la BNF para el lenguaje Java en Departamento de Ciencias de la Computación - Daimí. No se preocupe demasiado acerca de ser capaz de leer esta especificación. La mayoría de los desarrolladores nunca aprenden a interpretar el BNF para las lenguas que usan - que es el dominio de los desarrolladores de compiladores.

los errores de ejecución

El compilador Java no puede encontrar todos los errores en el código. Si la forma del código es correcto (es decir, que no han cometido ningún error al teclear los elementos que crean la aplicación), el compilador no se encuentra el error.

Video: Bugs - Errores al Programar | Vida de Programador # 31

Por ejemplo, si se inicializa un valor numérico a 5 en lugar de 4, el compilador no puede encontrar el error para usted porque el compilador no tiene idea de que en realidad quería decir que escribir 4. Este tipo de errores crean los errores de ejecución - los errores que se producen en algún momento durante la ejecución de la aplicación.

los errores de ejecución pueden ocurrir en todo tipo de ocasiones. Algunos errores son más probables de ocurrir en momentos específicos. La siguiente lista le ofrece algunas ideas acerca de los errores de ejecución, cuando es probable que ocurran:

  • inicialización: Cuando la aplicación se inicia por primera - antes de que presente cualquier tipo de interfaz para el usuario o lleva a cabo ningún trabajo útil - que pasa por una fase de inicialización. Esta es la hora de establecer una variable con el tipo incorrecto o tratar de utilizar una variable antes de inicializar va a llamar la atención. Muchos errores relacionados con los recursos también se producen durante la inicialización porque la mayoría de las aplicaciones abiertas recursos necesarios durante este tiempo.

  • Modo operativo: Una vez inicializado una aplicación, que se encuentra en modo de funcionamiento. Si se dispone de una interfaz de usuario, que comienza la interacción con el usuario. Este es el momento en el que la entrada del usuario es lo más importante.

    También encontrará las variables inicializadas de forma incorrecta en este momento porque el usuario (o el destinatario de la salida de la aplicación, tales como el sistema) verán que la salida es incorrecto. solicitudes de los usuarios de los recursos, tales como un archivo de datos, también crean errores durante este tiempo.

  • Proceso de fondo: La mayoría de los errores de procesamiento de fondo son consecuencia del entorno (como la pérdida de una conexión de red), la falta de recursos (como un archivo perdido), variables inicializadas de forma incorrecta, o errores en la forma en que le dijiste a la aplicación para realizar una tarea. Algunas tareas se realizan con mayor frecuencia en el fondo que otros.

    Por ejemplo, la impresión de un documento o la descarga de los recursos de Internet se realizan comúnmente en el fondo, mientras el usuario sigue trabajando con la aplicación en primer plano.

  • Apagar: Cuando el usuario (incluyendo las cuentas del sistema) indica a la aplicación ya no se necesita es, la aplicación pasa por una fase de apagado. Durante esta fase de apagado, la aplicación se cierra archivos y realiza otras tareas de limpieza que garanticen la aplicación no deja un desastre para el sistema operativo.

    Video: Errores de Compilación

    Los errores más comunes que pueden ocurrir durante esta fase no son la liberación de recursos que su solicitud ha utilizado y no guardar los datos en el disco. Por supuesto, los errores de codificación pueden ocurrir en cualquier momento, y esta fase de la operación no es una excepción. Se podría decir que la aplicación para cerrar cinco archivos cuando sólo cuatro de ellos son realmente abierta.

El JRE presentará la mayoría de los errores de ejecución que detecte a usted como excepciones. Sin embargo, el JRE no cogerá todos los errores en su aplicación. También debe mirar a la salida de su aplicación para determinar si la salida coincide con las expectativas que tiene para una entrada dada.

Además, es importante tener en cuenta el estado de los recursos que utiliza para asegurarse de que no están dañados de alguna manera. Por ejemplo, es necesario asegurarse de que todos los datos que debe guardar en un archivo en realidad termina en el archivo cuando la aplicación se cierra.

Java 8 tiene un mayor énfasis en la seguridad, lo que significa que se ven más casos SecurityException a medida que trabaja con su aplicación.

Al ver un aumento en las excepciones de seguridad no significa que su código es defectuoso o que Java 8 está lleno de errores - que significa que Java 8 localiza y le informa acerca de los problemas que podrían causar problemas de seguridad como la gente utiliza su aplicación de forma automática.

La documentación aparece en SecurityException Java.net. Por supuesto, usted querrá saber lo que todo el alboroto se trata.

Artículos Relacionados