JAVA/교재

JAVA 14- 예외처리

record2080 2025. 1. 21. 11:44

01. 예외처리

02.예외 클래스

03. 예외 처리 문법

04. 예외 던지기

05. 사용자 정의 예외 처리

 <에러와 예외>

-에러 : 해결할 수 없는 시스템에 에러가 발생해 프로그램이 종료된 경우

         : 개발자가 예측하거나 처리할 수 없는 영역

에러의 종류 상황
OutOfMemoryError 프로그램 실행 중 메모리 부족
IOError 입출력 에러
StackOverFlowError 가용 메모리 부족 현상, 재귀 호출 문제 시 발생

 

-예외 : 프로그램 사용 중 발생한 오류를 개발자가 처리해 메시지가 출력된 경우

          : 문법적으로 문제없어 보이지만 실제 운영 중에 생기는 문제들

구분 체크 예외(=일반예외) 비체크 예외(실행예외) :더 힘든 경우
처리여부 문법적으로 예외 처리를 강제함
반드시 처리해야 함
문법적으로 강제하지 않음
개발자의 판단에 의해 처리
확인 시점 컴파일 단계 실행 단계
예외 클래스 -Runtime Exception을 제외한 모든 예외
-IOException
-SQLException 등
-Runtime Exception의 자식클래스 모두 포함
-NullPointerException
-IndexOutOfBoundException
-CalssNorFoundException 등

 

<예외 클래스>

최상위의 Throwable을 상속받은 에러와 예외가 있다

에러는 시스템상의 심각한 수준의 오류라 수습될 수 없는 반면에 , 예외는 로직을 추가하여 처리할 수 있다

▶NullPointerException

가장 빈번하게 발생하는 실행 예외

객체가 제대로 생성되지 않은 상태에서 사용할 경우 발생

객체는 정의됐는데 실제 메모리에 생성되지 않을 경우, 예외 발생

▶NumberFormatException

잘못된 문자열을 숫자로 형 변환할 때 발생

숫자 형태의 문자열은 정수 타입으로 변환할 수 있으나 문자가 포함되거나 실수 형태의 문자열은 반환할 수 없다.

▶ArrayIndexOutOfBoundsException

배열에서 인덱스 범위를 초과해 사용할 때 발생

 

<예외처리 문법>

-예외처리 과정

1.코드 진행 중 예외가 발생하면 JVM에게 알린다

2. JVM은 발생한 예외를 분석하여 알맞은 예외 클래스를 생성한다

3. 생성된 예외 객체를 발생한 지점으로 보낸다

4.예외가 발생한 지점에서 처리하지 않으면 프로그램은 비정상 종료된다.

 

-try~catch구문 : 예외를 처리하는 가장 기본 문법

-다중 catch사용하기

유의할 점) 순서에 유의해야 한다

exception을 chtch문 맨 앞에 사용하면 문법에러가 발생한다.

catch(Exception e)를 마지막에.

-finally : 예외 발생 유무와 상관없이 실행되는 구문이며 생략 가능

            : 보통 외부 연동이나 예외가 발생해도 정상 종료되어야 할 구문

 

<예외 던지기>

throws : 여러개를 던질 수 있으며, 여러개를 던질 시에는 콤마로 구분해서 나열

 

-임의의 예외처리 방법

: 예외 발생 상황이 아니더라도 필요해 의해 강제로 예외를 발생시키는 기능

: throw new 예외객체(메시지);

: 트라이 캐치 내부 또는 메서드에 예외 던지기가 있는 경우

: 개발자가 예외를 의도하는 위치

 

  <사용자 정의 예외처리>

: 문법적인 예외가 발생하지 않더라도 프로그램의 규칙에 맞지 않거나 흐름에 문제가 생기면 사용자가 직접 예외를 발생시킬 수 있음.

'JAVA > 교재' 카테고리의 다른 글

JAVA 16 - 컬렉션 프레임워크  (0) 2025.01.23
JAVA 15- 기본 API 클래스  (1) 2025.01.22
JAVA 13- 내부 클래스  (0) 2025.01.20
JAVA 01- 자바 프로그래밍의 기본  (0) 2025.01.19
JAVA 12- 추상 클래스와 인터페이스  (0) 2025.01.18