El fenómeno anormal de los programas Java que se ejecutan se llama errores de ejecución. Según su naturaleza, se puede dividir en dos categorías: error (error) y excepción (excepción); Tienen una clase principal común (también la clase principal de todo el nivel de todas las excepciones): lanzamiento.
Estructura de clase de excepción
Error
El error es generado por el JVM y se abandona sin procesamiento; Dichos errores generalmente no están relacionados con el código y las operaciones ejecutadas, y son problemas relativamente graves en la máquina virtual y no pueden ser resueltos por el propio programa (los errores comunes incluyen bucles muertos, fugas de memoria, etc.).
Un error común es un error de máquina virtual Java (virtualMachineError). Cuando el JVM ya no tiene los recursos de memoria necesarios para continuar la operación, aparecerá un OutOfMemoryError. Cuando se producen estas excepciones, la máquina virtual Java (JVM) generalmente elige terminar los subprocesos.
Excepción
La excepción se usa como objeto y es descartada o procesada por programas Java; Por lo general, las causas de las excepciones son: el código o el código de llamada es incorrecto, los recursos del sistema operativo no están disponibles y la biblioteca de tiempo de ejecución de idiomas comunes encuentra un accidente;
Las excepciones se dividen en excepciones de tiempo de ejecución generadas por máquinas virtuales (RuntimeException, como punteros nulos, matriz fuera de los límites) y las excepciones no de run tiempo causadas por accidentes de programa (como IOException);
Excepción de tiempo de ejecución: el programa puede optar por capturar y procesarlo o tirarlo directamente sin procesamiento; Las excepciones de tiempo de ejecución comunes incluyen el desbordamiento del algoritmo (que excede el rango de expresión numérica), el divisor es cero, desbordamiento de memoria, puntero nulo, parámetros no válidos, etc. Tales excepciones son errores de programación en el programa en sí. Puede ajustar la dirección de ejecución del código de excepción para mantener el programa en funcionamiento hasta que termine normalmente;
Excepción de no rune: las excepciones inesperadas del tipo RuntimeException se denominan excepciones no de runtime. Desde la perspectiva de la sintaxis del programa, son excepciones que deben procesarse. Si no se procesan, el programa no puede ser compilado y aprobado; Las excepciones comunes que no son de run tiempos incluyen IOException, como: los archivos de recursos no se pueden encontrar, etc., lo que significa que el programa no puede ejecutarse con éxito al encontrar una situación inesperada.
Nota: La diferencia entre excepciones y errores: las excepciones pueden ser manejadas por el programa en sí, pero los errores no pueden manejarse.
Excepciones de verificación y no excepciones verificables
Las excepciones de Java (ErrorAnleRexcepciones) se pueden dividir en otras dos categorías de acuerdo con si el programa puede ser compilado y aprobado: excepciones verificadas y excepciones sin control.
Puede verificar las excepciones
Se puede verificar la excepción: correspondiente a las excepciones que no son de run tiempo, el compilador puede verificar los errores esperados al compilar el programa. Esta excepción debe ser manejada. Hay dos formas de lidiar con él: la instrucción Try-Catch capta la excepción o la cláusula de lanzamiento declara que lanzar una excepción, y el tipo de excepción se declara fuera del encabezado del método (usando la excepción de lanzamiento) y la persona que llama puede optar por manejar la excepción recibida.
Hablando de estas dos formas de manejar, necesitamos hablar sobre las 5 palabras clave del manejo de excepciones de Java: intente, atrapar, finalmente, lanza, lanzamiento
1. Use la declaración de captura de prueba para la captura de procesos (el encabezado del método no necesita ser declarado)
Los tres bloques de declaración de try, captación y finalmente no pueden aparecer solos. Los tres se pueden combinar en Try-Catch/Try-Catch-Finally/Try-Finally.
Puede haber múltiples bloques de captura, y en este momento, uno de los códigos de bloque de captura solo se puede combinar de arriba a abajo;
Finalmente, a lo sumo, una variable no es accesible entre sí en los tres bloques de declaración.
En esta sección, la combinación Try-Catch se usa para manejar la excepción de control, lanzando la excepción hacia arriba, ejemplo:
public xmlreaderHdu (string xmlfile) {super (); this.xmlfile = xmlfile; this.fileName = staticConfig.umlPathPrefixHdu; intente {saxreader lector = new SaxReader (); document DOM = Reader.read (xmlfile); root = dom.getroOtElement ();} Catch (Exception e1) {Handle1 ...} Catch (Exception e2) {Handle1 ...}}}2. Use la cláusula de lanzamiento para declarar el lanzamiento (declarar el tipo de excepción de lanzamiento en la cabeza fuera del cuerpo del método: use los lanzamientos para lanzar una excepción)
Primero, use lanzar dentro del cuerpo del método para lanzar una excepción;
Luego, el método se declara fuera de la cabeza y lanza la excepción lanzada dentro con tiros;
Ejemplo 1: Try-Catch lanza una excepción
public xmlreaderhdu (string xmlfile) lanza la excepción {super (); this.xmlfile = xmlfile; this.fileName = staticConfig.umlPathPrefixHdu; try {saxreader lector = new SaxReader (); document DOM = Reader.read (xmlfile); root = dom.getroOtElement ();} Catch (Exception e1) {tire nueva excepción (e1);}}Ejemplo 2: Excepción personalizada de tiros de lanzamiento
Lista privada <SeCase> ReadUcInFormation () lanza la excepción {if (e1.hascontent ()) {if (e1.element ("name"). getText (). Equals ("Precondition")) {uc.setPreConTition (e1.ElementText ("contenido"));} else {throLe New Exception ("USECASE RISTAINT OBTINCE Exception, Posible Cause Peage Cause Cause Cause, por causa posible por causa, por causa posible por causa, por causa posible. error");}}}No se puede verificar las excepciones
Excepciones injustificables: incluye error de error y excepción de tiempo de ejecución runtimeException
Se pueden aprobar excepciones de tiempo de ejecución durante la compilación del programa. No se puede detectar a través de la sintaxis estática que las funciones pueden arrojar excepciones. Solo cuando se encuentra la excepción (es decir, dependiendo del estado de tiempo de ejecución, el estado de tiempo de ejecución lo determina);
Puede optar por capturar el procesamiento o mostrar (MustBecaughtOrdeclearedTobethrown). Estas excepciones generalmente son causadas por errores lógicos del programa, y los programas deben evitar tales excepciones tanto como sea posible desde una perspectiva lógica.
Resumir
Lo anterior se trata del análisis de los conocimientos básicos de las excepciones de Java en este artículo, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!