프로그램에서의 오류
- 컴파일 오류 (Compile error)
프로그램 코드 작성 중 발생하는 문법적 오류
최근에는 개발 환경(eclipse)에서 대부분의 컴파일오류는 detection 됨
- 실행 오류 (Runtime error)
실행 중인 프로그램이 의도 하지 않은 동작(bug)을 하거나 프로그램이 중지되는 오류
실행 오류는 비정상 종료가 되는 경우 시스템의 심각한 장애를 발생할 수 있음
예외 처리의 중요성
- 프로그램의 비정상 종료를 피하여 시스템이 원할이 실행되도록 함
- 실행 오류가 발생한 경우 오류의 과정을 재현하는 것은 현실적으로 힘들다
- 오류가 발생한 경우 log를 남겨서 추후 log 분석을 통해 그 원인을 파악하여 bug를 수정하는 것이 중요
오류와 예외 클래스
- 시스템 오류(error) : 가상 머신에서 발생, 프로그래머가 처리할 수 없는 오류임
동적 메모리가 없는 경우, 스택 메모리 오버플로우 등
- 예외(Exception) : 프로그램에서 제어할 수 있는 오류
읽어들이려는 파일이 존재하지 않거나, 네트워크나 DB연결이 안되는 경우 등
- 자바는 안전성이 중요한 언어로 대부분 프로그램에서 발생하는 오류에 대해 문법적으로 예외 처리를 해야함
예외 클래스들
- 모든 예외 클래스의 최상위 클래스는 Exception 클래스
Clss Exception
java.lang.Object
java.lang.Throwable
java.lang.Exception
- 자바에서는 다양한 예외들에 대해 그 처리를 위한 클래스가 제공되고 있음
1. Exception
2. IOException(입출력 예외 처리)
FileNotFoundException, SocketException
3. RuntimeException(실행 오류 예외 처리)
ArithmeticExcpeion, IndexOutofBoundsException
- Arithmetic Exception : 정수를 0으로 나눈 경우 발생
- NullPointerException : 초기화되지 않은 Object를 사용하는 경우
'프로그래밍 언어 > JAVA(자바) 응용' 카테고리의 다른 글
59.사용자 정의 예외클래스 (0) | 2022.06.03 |
---|---|
58.예외 처리하기와 미루기 (0) | 2022.06.02 |
56.스트림을 활용한 패키지 여행 비용 계산 (0) | 2022.06.02 |
55.연산 수행에 대한 구현 reduce() 메서드 (0) | 2022.06.01 |
54.스트림(Stream) (0) | 2022.06.01 |
댓글