본문 바로가기

학원/Java

JAVA 8-1장. 예외처리

[ 목차 ]

1. 프로그램 오류

2. 프로그램 오류 - 예외

3. by zero 오류와 예외처리

4. try-catch 문에서의 흐름

5. printStackTrace( )와 getMessage( ) 

6. finally 블럭

7. throws 예약어

8. 사용자 정의 예외

 

1. 프로그램 오류 - 에러

1) 메모리 부족이나 스택오버플로우와 같이 발생하면 복구 할 수 없는 심각한 오류

2) 컴파일 에러 : 컴파일 시 발생하는 에러

3) 런타임 에러 : 실행 시 발생하는 에러

4) 논리적 에러 ; 실행은 되지만 의도와 다르게 동작

 

2. 프로그램 오류 - 예외

1) 프로그램 코드에 의해 처리할 수 있는 오류

2) 예외 처리 : 예외 발생에 대비한 코드를 작성하는 것으로, 프로그램의 비정상 종료를 막고 정상적인 실행 상태를 유지

3) 예외 처리하기 : try-catch문

 

3. by zero 오류와 예외처리

4. try-catch 문에서의 흐름

1) try 블럭 내에서 예외 발생 시 예외와 일치 하는 catch 블럭 찾기

2) 찾으면 catch 블럭 수행 후 carch 블럭 빠져 나감

3) catch 블럭이 여러개 일 경우 처음 일치하는 catch 블럭만 수행

5. printStackTrace( )와 getMessage( )

1) printStackTrace( ) : 예외발생 당시의 호출스택에 있었던 메서드 정보와 예외 메시지 화면에 출력

2) getMessage( ) : 발생한 예외클래스의 인스턴스에 저장된 메세지를 얻을 수 있음

6. finally 블럭

1) try-catch 문과 함께 예외 발생여부에 상관없이 실행되어야 할 코드 작성

try {
     // 예외가 발생할 가능성이 있는 문장
} catch (Exception e) {
     // 예외 처리를 위한 문장
) finally {
     // 예외 발생 여부와 상관 없이 수행되는 문장
}

7. throws 예약어

1) 예외 처리는 원래 예외가 발생한 메소드 안에서 처리하는 것이 기본

2) 예외 처리를 자신을 호출 한 메소드에서 처리

8. 사용자 정의 예외

1) 특정 상황에 대한 예외를 직접 만들어 사용 할 때

2) Exception 클래스를 상속 받아서 정의