예외처리

박민수·2023년 1월 23일
0

자바의 정석

목록 보기
8/17
post-thumbnail

1. 프로그램 오류

컴파일 에러 : 컴파일 시에 발생하는 에러
런타임 에러 : 실행 시에 발생하는 에러
논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것

오류 검출 과정

(1) 소스 코드를 컴파일하면 컴파일러가 소스코드(*java)에 대해 오타나 잘못된 구문, 자료형 체크 등의 검사 수행 (컴파일 에러)

(2) 컴파일을 성공적으로 마치고 나면, 클래스 파일(*class)이 생성되고, 생성된 클래스 파일을 실행

(3) 실행 중에 발생하는 오류와 비정상적 동작을 검사
(런타임 에러)

2. 예외 클래스 구조

(1) RuntimeException클래스

RuntimeException클래스는 주로 프로그래머의 실수에 의해서 발생될 수 있는 예외들이다.
RuntimeException클래스의 예외들은 명시적으로 예외처리를 강제하지 않는다. 즉 따로 catch문으로 예외를 잡거나, throws를 선언하지 않아도 된다.
때문에 RuntimeException클래스를 'unchecked예외'라 부른다.
(프로그램에 오류가 있을 때 발생하도록 의도된 예외들)
해결하지 않으면 런타임 에러 발생
ex) 배열의 범위 초과, 값이 null인 참조변수 호출, 형변환 잘못 등등

(2) Exception클래스

Exception클래스는 주로 외부의 영향으로 발생할 수 있는 예외들이다.
Exception클래스의 예외들은 복구가 가능한 예외이기 때문에 예외를 반드시 처리해야 한다. catch문이나, throws로 예외를 해결해야 한다.
때문에 Exception클래스들은 'checked예외'라고 부른다.
해결하지 않으면 컴파일 에러 발생
ex) 존재하지 않는 파일명, 존재하지 않는 클래스 등등

profile
쉽게 쉽게

0개의 댓글

관련 채용 정보