Tecnología

Inicio

¿Por qué hay excepciones mal número en Java?

¿Por qué hay excepciones mal número en Java?


Las excepciones pueden provocar que los programas Java se bloquee, pero cuando se usa correctamente, sino que también permiten a los programadores crear aplicaciones que puedan hacer frente a acontecimientos inesperados. Número excepciones a menudo se producen cuando los programas intentan analizar los números, la conversión de cadenas de texto a valores numéricos. Si un programa Java utiliza un método en el que un número no es del tipo esperado, puede lanzar una excepción Formato de número. Mediante la comprensión de excepciones, se puede aprender cómo crear programas que proporcionan una funcionalidad fiable.

Tipos de excepción

Los programas Java pueden lanzar muchos tipos diferentes de excepción. El formato de número de excepciones es la excepción numérica más común. A excepción de tiempo de ejecución, se extiende la clase de excepción Argumento Ilegal. Normalmente, esta excepción se produce cuando se utiliza un método para tratar de analizar una cadena como un número, pero el contenido de la cadena no es un número del tipo correcto. Debido a que es una excepción sin control, sus programas pueden compilar sin su entorno de desarrollo integrado que le advierte sobre la posibilidad de error. El formato de los números de excepción sólo se produce si un programa de entrada pasa a un método apropiado, por lo que sólo puede descubrirla cuando se ejecuta la aplicación.

causas

Las clases de contenedor lenguaje Java proporcionan representaciones de objetos de los tipos de números primitivos, incluyendo entero, flotante y doble. El uso de estas clases, los programas pueden analizar los valores de cadena como los tipos numéricos, como sigue:

Integer.parseInt ( "3");

Este código se ejecuta sin error, debido a que el parámetro de cadena que se pasa contiene un valor numérico. Sin embargo, la siguiente llamada al método provoca Java para lanzar una excepción Formato de número debido a que la cadena no contiene un número:

Integer.parseInt ( "r");

El código siguiente también causa la excepción, porque a pesar de la cadena es un número, no es un número entero:

Integer.parseInt ( "3.5");

Todos estos fragmentos de código compilar y ejecutar, por lo que el programador sólo se puede llegar a ser consciente del error en tiempo de ejecución. Los valores no se suministran normalmente de forma explícita, pero se leen desde una fuente externa o valor variable.

Atractivo

Puede capturar las excepciones número de formato si sus programas son propensos a tirarlos. Añadiendo su código de número de análisis a un bloque try, a continuación, el suministro de un negro de captura después de ella, se pueden crear programas que va a seguir funcionando incluso si se produce una excepción Formato de número. El siguiente código de ejemplo muestra esta estructura:

tratar {
Integer.parseInt (numString);
}
catch (NumberFormatException numExc) {System.out.println (numExc.getMessage ()); }

La cadena de análisis sintáctico en este caso se representa como una variable de referencia, por lo que su contenido es desconocido. Si el contenido de la cadena no se puede analizar como un entero, el código se dirige de inmediato al bloque catch, donde se puede proporcionar un procesamiento alternativo.

Lanzamiento

Así como la captura de excepciones, los desarrolladores pueden crear programas Java en el que se generen excepciones personalizados. Esta es una táctica común con excepciones sin marcar, como el Formato de número. El siguiente código demuestra modificado:

catch (NumberFormatException numExc) {throw new BadNumberException (); }

Esto permite a los programadores definir su propia clase de excepción personalizada, que puede ser un tipo se marca, y para proporcionar una estrategia de afrontamiento adecuado para la aplicación.