예외(Exception) 와 에러(Error)
Exception 정의 및 특징
- 프로그램 실행 중에 발생한 예상치 못한 상황이나 오류
- 사용자의 잘못된 입력/네트워크 연결 오류/파일을 찾을 수 없는 오류 등이 포함된다.
- 일반적으로 프로그래머가 처리가 가능하다
Exception 종류
1.Checked Exception
- 컴파일러가 강제로 예외처리를 요구하는 예외
- RuntimeException 을 상속하지 않은 예외들
- IOException,SQLException 등이 여기에 속한다
- 메소드에서 해당 예외가 발생 할 수 있다면, 반드시 예외처리 코드(try-catch/throws)를 작성해야한다.
2. Unchecked Exception
- 컴파일러가 예외 처리를 강제하지 않는 예외
- 개발자의 실수나 프로그램 논리 오류에 의해 발생
- RuntimeException 을 상속한 예외들
- NullPointerException,ArrayIndexOutOfBoundsException 등이 여기에 속한다
- 예외 사항 방지 위해 개발자가 적절한 조치 필요.
Error 정의 및 특징
- 프로그램 실행 도중 발생하는 심각한 문제
- 발생 시 일반적으로 복구 할 수 없는 상태가 되어, 프로그램 실행을 중단하거나 강제로 종료 시키는 경우가 많다.
- 메모리 부족/하드웨어 문제/JVM의 오류등이 포함된다.
- 프로그래머가 처리하기 어려운 예외
- OutOfMemoryError, StackOverflowError 등이 여기에 속한다.
댓글