예외 처리를 하는 근본적인 이유 : 프로그램이 오작동하거나 비정상 종료를 막기 위해 1. 종류 1) 컴파일 에러(compile-time error) : 구문 체크, 번역, 최적화, 생략된 코드 추가 등을 컴파일러가 한다. 2) 런타임 에러(runtime error) : 프로그램 실행 중 발생하는 에러 (프로그램 종료) - 에러(Error) : 프로그램 코드에 의해 수습될 수 없는 심각한 오류 ex) 메모리 부족, Out of Memory error 혹은 스택오버플로우 StackOverFlowError) - 예외(Exception) : 프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류 --> 예외처리로 프로그램의 비정상적 종료 막을 수 있다. 3) 논리적 에러(logical error) : 작성 의도..