Colección de citas famosas - Frases motivadoras - Enseñarle cómo manejar excepciones durante el desarrollo de Java.

Enseñarle cómo manejar excepciones durante el desarrollo de Java.

Los primeros lenguajes de programación (como C) no manejaban excepciones. Por lo general, devolverán un valor especial o establecerán una bandera cuando encuentren un error para determinar si existe un error. A medida que los sistemas continúan creciendo en tamaño, este manejo de errores se ha convertido en un obstáculo para la creación de programas mantenibles a gran escala.

Así que han aparecido mecanismos de manejo de excepciones en algunos lenguajes, como la declaración de manejo de excepciones "on error goto" en Basic, mientras que Java ha establecido un nuevo mecanismo de manejo de excepciones basado en C++.

Java maneja excepciones a través de métodos orientados a objetos, clasifica diferentes excepciones y proporciona buenas interfaces. Este mecanismo proporciona un potente modo de control para programas complejos. Al mismo tiempo, estos códigos anormales se separan del código "normal", lo que mejora la legibilidad del programa y hace que la escritura del programa sea más flexible.

Clases de excepción en Java

En Java, cada excepción es un objeto, que es una instancia de la clase Throwable u otras subclases. Cuando ocurre una excepción en un método, se generará un objeto de excepción que contiene información de la excepción. El método que llama al objeto puede detectar la excepción y manejarla.

La clase Throwable tiene dos subclases estándar: java.lang.Error y java.lang.Exception, a saber, Error y Exception. Error: la categoría de error generalmente se refiere a problemas relacionados con la máquina virtual, como fallas del sistema, errores de la máquina virtual, fallas de enlaces dinámicos, etc. Este error no se puede recuperar ni detectar y provocará la interrupción de la aplicación.

Excepción: la clase de excepción se refiere a algunas excepciones que pueden detectarse y posiblemente recuperarse, como subíndices de matriz fuera de límites, índice, fuera de límites, límites y excepciones. Dividir un número por cero generará excepciones: excepciones aritméticas, excepciones de entrada/salida: excepciones io, etc.

Consejo: El compilador de Java requiere que los programas Java detecten o declaren todas las excepciones que no son de tiempo de ejecución, como FileNotFoundException, IOException, etc. Porque, para este tipo de excepción, si el programa no lo maneja, puede generar resultados inesperados. Sin embargo, si ocurre una excepción durante el tiempo de ejecución, puede ignorarla, porque dichas excepciones son muy comunes y todo el procesamiento puede afectar la legibilidad y la eficiencia operativa del programa.

Forma de manejo de excepciones de Java, el manejo de excepciones de Java se implementa a través de cinco palabras clave: try, catch, throw, throws y finalmente. En términos generales, try se utiliza para ejecutar programas. Si ocurre una excepción, el sistema generará una excepción. En este momento puedes capturarlo por su tipo, o eventualmente será procesado por el procesador predeterminado.

La siguiente es la forma básica del controlador de excepciones de Java: try //Bloque de tiempo de ejecución catch ExceptionType1e //Maneja la excepción tipo 1 catch excepción tipo 2e //Maneja la excepción Type2 throw e //Luego lanza esta "excepción" Finalmente, intente bloquear y capturar declaraciones: cuando se encuentra una declaración de prueba, se coloca un marco de "excepción" en la pila hasta que se completen todas las declaraciones en el bloque de prueba. Si la declaración try del siguiente nivel no maneja la "excepción", la pila se expandirá hasta que aparezca una declaración try que maneje dicha "excepción". Después del procedimiento de prueba, debe incluir una cláusula catch para especificar el tipo de "excepción" que desea detectar. Consejo: El primer paso para detectar excepciones es utilizar try... para seleccionar el alcance de la excepción que se va a detectar. Cuando se ejecuta, el código entre paréntesis genera un objeto de excepción y se lanza. Luego puedes usar un bloque catch para manejar la excepción. Declaración de lanzamiento y declaración de lanzamiento: la declaración de lanzamiento se utiliza para lanzar explícitamente una "excepción". Primero, debe obtener un identificador de instancia generado por la clase Throwable u otra subclase, pasarlo a la cláusula catch a través de parámetros o crear una instancia con la nueva declaración. Las siguientes son formas comunes de declaraciones de lanzamiento: throw ThrowableInstance, mensaje: después de ejecutar la declaración de lanzamiento, el proceso en ejecución se detendrá inmediatamente y también se suspenderá la ejecución de la siguiente declaración de lanzamiento. Aquí, el operador new se utiliza para crear una instancia de la clase Throwable, que se explicará en detalle en un artículo posterior sobre programación orientada a objetos. La declaración Throws se utiliza para indicar varias "excepciones" que pueden generar las funciones miembro. Para la mayoría de las subclases de Exception, el compilador de Java le obliga a declarar el tipo de "excepción" lanzada en la función miembro. Esta regla no tiene efecto si el tipo de "excepción" es Error o RuntimeException, o una subclase de estos. Si desea lanzar RuntimeException explícitamente, debe declarar su tipo con la declaración throws. Consejo: Por supuesto, es posible que no entiendas bien la explicación anterior, pero está bien.

Compile y ejecute el siguiente programa Java (ya comentado en detalle para usted) y comprenderá muchas cosas. Ahora usamos la siguiente rutina para ilustrar el problema: clase ThrowsDemo // nombre de clase, el archivo fuente de Java correspondiente debe guardarse como: ThrowsDemo. El procedimiento de anulación estática de Java throwsillegalaccessexception//lanza una declaración//lanza una excepción de tipo de excepción de acceso ilegal, sistema. out println "inside procedimiento" // Muestra información de texto, lo que indica que se genera una excepción al ejecutar el método de procedimiento ThrowNew IllegalAccessException "demo" // Genera nuevamente una instancia de clase Throwable y luego lanza una excepción public static void main string args/. /método principal. Desde aquí, el programa ejecuta el bloque de declaración try //try e inicia el procedimiento //Llama al método de procedimiento, que arrojará información de excepción catch IllegalAccessException e //Maneja excepciones del tipo IllegalAccessException. sistema de bloques de declaraciones de captura. out.println "precaución" +e Programa y ejecuta el programa, el proceso es el siguiente: E \ javacode \ excepción & gtJava throwsdemo proceso interno Nota Java lang ilegalaccessexception Consejos de demostración: como se muestra en el código anterior, utilizamos un completo. programa para explicar cómo utilizar try...catch...throw y otras declaraciones en programas Java. La excepción generada en Try... se detecta y luego se maneja en el bloque catch (aquí solo se genera información de excepción). Indica que el programa generará una excepción de tipo IllegalAccessException. IllegalAccessExceptione genera un objeto de excepción y luego usa la instrucción System.out.println Finalmente para generar la información de la excepción. A veces, para garantizar que un fragmento de código se ejecutará sin importar qué excepción ocurra, se puede usar la palabra clave Finalmente para marcar. tal fragmento de código. Una función miembro regresa a la función miembro que la llamó a través de una excepción no detectada o mediante una declaración de retorno explícita. La cláusula finalmente siempre se ejecuta antes de que regrese la función miembro. Usamos un controlador de excepciones relativamente completo para ilustrar el uso de las diversas declaraciones de manejo de excepciones mencionadas anteriormente: clase ExceptionDemo // Ejemplo de uso de excepción, guardar como demostración de excepción. Sistema de procatry vacío estático de Java. out.println "inside proca "Lanza una nueva excepción de tiempo de ejecución" demo "//Finalmente lanza un sistema de excepción. out. println "proca finalmente" // Nota: ¡Pase lo que pase, se ejecutará! ! Sistema de proxy estático no válido. out . println " inside procb " return // De hecho, eventualmente regresará al sistema. out. println "procb's finalmente" argumentos de cadena principal vacíos estáticos públicos prueba el sistema de excepción de captura de proca. Regresa a c después de ejecutar la declaración finalmente. catch ” + e procB Consejo: En el programa completo anterior, el código entre llaves después de finalmente se ejecutará bajo cualquier circunstancia. Además, en procB, la declaración de devolución no regresa inmediatamente, a lo que se debe prestar especial atención. Puede hacerlo usted mismo e intentar ejecutar el programa anterior (la compilación y la ejecución son similares al ejemplo anterior. En este punto, el control de flujo de Java está completamente completo. Solo después de mucha práctica podrá comprenderlos y dominarlos realmente). cada programa para que puedan lograr las funciones que desea y tener un conocimiento básico del control de procesos de Java. Para escribir un buen programa Java, es muy importante estar familiarizado con el control de procesos y el manejo de excepciones de Java.