예외 처리(exception handling) - 예외 처리란?
프로그램 오류
컴파일 에러 : 컴파일 시에 발생하는 에러
런타임 에러 : 실행 시에 발생하는 에러
논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것
그러면 에러와 예외의 차이점은 무엇인가요?
에러 : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
- 예외 : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
예외 클래스의 계층 구조
자바는 실행 시 발생할 수 있는 오류(Exception, Error)를 클래스로 정의했다.
- 모든 클래스의 조상은 Object이므로 Exception과 Error클래스 역시 Object 클래스의 자손이다.
예외 클래스는 다음과 같이 두 개의 그룹으로 나눌 수 있다.
RuntimeException 클래스와 그 자손클래스들
주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들로 자바의 프로그래밍 요소들과 관계가 깊다.
ex) 배열의 범위를 벗어난 경우, null인 참조변수의 멤버를 호출하는 경우, 클래스간의 형변환을 잘못하는 경우, 정수를 0으로 나누려고 하는 경우
Exception 클래스와 그 자손클래스들
- 주로 외부 영향으로 발생할 수 있는 것들로 사용자들의 동작에 의해 발생하는 경우가 많다.
- ex) 존재하지 않는 파일의 이름을 입력하는 경우, 실수로 클래스의 이름을 잘못 적는 경우, 입력한 데이터 형식이 잘못된 경우
예외처리란?
실행도중에 발생하는 에러는 어쩔 수 없지만, 예외는 프로그래머가 이에 대한 처리를 미리 해주어야 한다.
예외처리(exception handling)이란 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이다.
예외 처리의 목적은 예외의 발생으로 인한 실행중인 프로그램의 갑작스런 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것이다.
예외처리를 하기 위해 try-catch문을 사용한다
참조) Java의 정석 3rd edition(남궁성, 도우출판)
'Programming Language > Java' 카테고리의 다른 글
[Java] 14. 예외 처리(Exception handling)(3) - 메서드에 예외 선언하기 (0) | 2024.07.09 |
---|---|
[Java] 13. 예외 처리(Exception handling)(2) - try-catch 문 (0) | 2024.07.09 |
[Java] 11. OOP - 내부 클래스(Inner Class), 익명 클래스 (0) | 2024.07.07 |
[Java] 10. OOP - 인터페이스(Interface) (0) | 2024.07.07 |
[Java] 09. OOP - 추상 클래스(abstract class) (0) | 2024.06.24 |