Generalmente hay dos formas de manejar las excepciones, ya sea capturar la excepción de prueba de try o lanzar los lanzamientos de excepción
Si un método lanza una excepción de tiempo de ejecución (lanza RuntimeException) después, la persona que llama no necesita lidiar con ella
Si se lanza un método después de una excepción de tiempo de compilación, la persona que llama debe manejarlo, ya sea lanzar o probar la captura;
Las excepciones durante el tiempo de ejecución generalmente no se manejan, y generalmente son errores lógicos en el programa, como el denominador es 0 como divisor. . .
Tenga en cuenta que si se produce una excepción en la prueba, la declaración debajo de la prueba no se ejecutará. Regrese para encontrar el procesamiento de excepciones de coincidencia de captura y la siguiente declaración se procesará (es decir, la declaración después de Try-Catch-Finally continuará ejecutándose)
/*
* A veces, podemos manejar excepciones, pero a veces, no tenemos permiso para manejar una excepción en absoluto.
* O, si no puedo manejarlo, no lo manejaré.
* Para resolver el problema de error, Java proporciona otra solución para esta situación: lanzar.
*
* Formato:
* lanza el nombre de la clase de excepción
* Nota: Este formato debe ser seguido por los soportes del método.
*
* Aviso:
* Trate de no arrojar excepciones sobre el método principal.
* Pero hice esto por conveniencia.
*
* Resumen:
* Se lanza una excepción durante el período de compilación y debe ser manejada por la persona que llama en el futuro.
* Se lanza una excepción durante el tiempo de ejecución, y no se requiere que las llamadas futuras se procesen.
*/
Cualquier excepción de RuntimeException y sus subclases no se procesan (no se arrojan ni atrapan). Si realmente sabe que se lanzará una excepción en tiempo de ejecución, ¡está bien verificar directamente la lógica de modificar el programa! ! !
excepción de paquete; import java.text.parseException; import java.text.simpledateFormat; import java.util.date; public class ExceptionDemo {public static void main (string [] args) {system.out.println ("antes de llamar al método"); {E.PrintStackTrace ();} System.out.println ("Llame Method 2 después de llamar al método 1"); método2 ();} public static void Method2 () lanza runtimeException {int a = 10; int b = 0; system.println ("a/b ="+a/b); // excepciones durante el tiempo de ejecución no se puede procesar. Si se lanza la excepción, la persona que llama no necesita manejar la excepción} Public static void Method () lanza ParseException {String String = "2015-05-30"; SimpleDateFormat sdf = new SimpleDateFormat ("yyyyyy-mm-dd"); // el formato de cadena se coincide gradualmente, y si la excepción no es correcta, la excepción será thrown simpledate simpledate SimpleDateFormat ("aaa yyyy-mm-dd hh: mm: ss"); // Si la cadena solo tiene 2015-05-30 y no hay seguimiento, entonces ejecutará una excepción porque este sdf2 no puede coincidir con hh: mm: ssdate date = sdf.parse (string); system.println ("fechor formating:" + date);}}}}Diagrama de estructura de excepción:
Los programadores no podemos manejar las excepciones de error sin tener que lidiar con ellas.
No necesitamos lidiar con la excepción de tiempo de ejecución de la excepción de tiempo de ejecución.
Los otros son excepciones en el período de compilación, y tenemos que lidiar con ellas.
Lo anterior es todo el contenido que el editor le ha traído sobre la diferencia entre el diagrama de estructura anormal, la excepción del período de compilación y la excepción del período de ejecución. Espero que sea útil para todos y apoye a Wulin.com más ~