¿Cuál es la diferencia entre error y excepción en Java?
1. Diferentes significados:
La clase Error generalmente es un problema relacionado con la máquina virtual, como fallas del sistema, errores de la máquina virtual, espacio de memoria insuficiente, desbordamiento de la pila de llamadas a métodos, etc. La interrupción de la aplicación causada por tales errores no puede ser recuperada ni evitada por el programa en sí. Cuando se encuentren tales errores, se recomienda finalizar el programa.
La clase Exception representa excepciones que un programa puede manejar y que pueden detectarse y posiblemente recuperarse. Cuando se encuentre con este tipo de excepción, debe manejar la excepción tanto como sea posible y reanudar el programa en lugar de finalizar la excepción arbitrariamente.
2. Diferentes usos:
Excepción y Error reflejan la clasificación de diferentes excepciones por parte de los diseñadores de la plataforma Java. Una excepción es una situación inesperada que se puede esperar durante el funcionamiento normal del programa. Puede y debe detectarse y manejarse en consecuencia.
Error se refiere a una situación que es poco probable que ocurra en circunstancias normales. La mayoría de los errores causarán que el programa se encuentre en un estado anormal e irrecuperable. Dado que es una situación anormal, es inconveniente y no es necesario capturarlos. Los comunes como OutOfMemoryError son todas subclases de Error.
Beneficios
Separar el manejo de excepciones de la línea principal de lógica de negocios nos permite ramificar las excepciones que encontramos. De hecho, separar la lógica de negocios del manejo de excepciones es también el propósito principal de Exception. En segundo lugar, Java Exception no necesita detectar el mismo error en varios lugares del programa como el lenguaje C y manejar la excepción en el acto. En comparación con el manejo de errores antiguo, la estructura actual de manejo de errores es más clara.
Referencia del contenido anterior: Baidu Encyclopedia-Exception