예외처리란?

mingseok·2022년 5월 15일
0

예외처리

목록 보기
2/7

비정상적으로 종류되는 경우가 있다.

이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류 라고 한다.


‘컴파일 에러’ 와 ‘런타임 에러’ 로 나눌 수 있다.

컴파일 에러는 컴파일 할 때 발생하는 에러이고, 프로그램의 실행도중에 발생하는 에러를 ‘런타임 에러’ 라고 한다. 이 외에도 ‘논리적 에러’ 가 있는데 컴파일도 잘되고 실행도 잘되지만 의도한 것과 다르게 동작하는 것을 말한다.

예를 들어, 창고의 재고가 음수가 된다던가, 게임 프로그램에서 비행기가 총알을 맞아도 죽지 않는 경우가 이에 해당 된다.

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


소스코드를 컴파일 하면 컴파일러가 소스코드 에 대해 오타나 잘못된 구문, 자료형 체크등의
기본적인 검사를 수행하여 오류가 있는지 알려 준다.


컴파일러가 알려 준 에러들을 모두 수정해서 컴파일을 성공적으로 마치고 나면,
클래스 파일이 생성되고, 생성된 클래스 파일을 실행할 수 있게 되는 것이다.


실행도중에 발생할 수 있는 잠재적인 오류까지 검사할 수 없기 때문에 컴파일은 잘되었어도
실행 중에 에러에 의해서 잘못된 결과를 얻거나 프로그램이 비정상적으로 종료될 수 있다.


런타임 에러를 예를 들면, 실행 중 동작을 멈춘 상태로 오랜 시간 지속되거나,
갑자기 프로그램이 실행을 멈추고 종료되는 경우 등이 이에 해당한다.


자바 에서는 실행 시 발생할 수 있는 프로그램 오류를 ‘에러’ 와 ‘예외’ 두 가지로 구분하였다.

에러는 메모리 부족이나 스택오버플로우와 같이 일단 발생하면 복구할 수 없는 심각한
오류이고 예외는 발생하더라도 수습될 수 있는 비교적 덜 심각한 것이다.


에러가 발생하면, 프로그램의 비정상적인 종료를 막을 길이 없지만, 프로그램의 비정상적인 종료를 막을 수 있다.


Reference
남궁 성 지음, 『자바의 정석』, 도우출판.

profile
블로그 이사 했습니다.

0개의 댓글