JAVA - 예외 처리

이상원·2022년 5월 22일
0

JAVA

목록 보기
5/6

프로그램 오류

프로그램이 실행 중 어떤 원인에 의해서 오작동 혹은 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.

예외 클래스의 계층 구조

발생시점에 따라 크게 컴파일 에러와 런타임 에러로 나눌 수 있는 데 예외 처리는 런타임 에러 시 대비를 할 수 있도록 하는 것이다.

  • 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
  • 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

Exception 과 RuntimeException

  • Exception 클래스들 : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 (checked)

  • RuntimeException 클래스들 : 프로그래머의 실수로 발생하는 예외(unchecked)

Exception 클래스의 예외와 그 자손들(checked 예외)이 발생할 가능성이 있는 문장들에 대해서는 예외 처리를 해주지 않으면 컴파일 조차 되지 않는다.

예외 선언하기

예외 선언하기에는 크게 직접 처리하는 부분(try- catch)과 예외를 떠넘기는(throws) 2가지의 방법이 있다.

기본 예외 선언 법

		try {
            
       	}catch (Exception e)
        {
            // 여기까진 필수
        }finally {
            // 예외 발생에 상관없이 무조건 거치는 곳
        }

메서드에 예외 선언하기 메서드 호출 시 발생 가능한 예외를 호출하는 쪽에 알리는 것!

 public int method() throws Exception {
        //~~
        
    }

사용자 정의 예외 처리

    // queue is empty
    public class EmptyQueueException extends RuntimeException {
        public EmptyQueueException(){
            super("Empty Queue");
        }
    }
    // queue is full
    public class OverflowQueueException extends RuntimeException{
        public OverflowQueueException() {
            super("Queue is Full");
        }
    }

참고 문헌 자바의 정석

profile
개발하는 코린이

0개의 댓글