[Java 언어 활용] 2.1 Throwable 클래스의 계층 구조 Java 언어에서는 예외나 에러가 발생할 때 Throwable 클래스 개체를 던져 개발자 코드에서 이를 잡아 처리할 수 있게 하고 있습니다. 이는 Throwable은 예외와 에러의 기반 클래스라는 말입니다. [그림 2.1] Throwable 클래스의 계층 구조 예외(Exception)는 비교적 가벼운 오류로 개발자가 프로그램 방식으로 처리할 수 있다고 판단하는 상황에 발생하며 에러(Error)는 치명적인 오류가 발생하여 개발자가 처리할 수 없다고 판단하는 상황에 발생하는 것입니다. 예를 들어 프로그램에서 열고자 하는 파일이 없을 때는 예외를 발생합니다. 하지만 스레드의 자원 경쟁 문제에서 교착 상태에 빠지거나 가상 머신에서 문제가 발생하..