본문 바로가기
Java/Java 17 문법

[Java] Java - 예외처리

by cogito30 2025. 1. 22.

예외처리

예외처리

- 예외(exception): 잘못된 코드로 인해서 발생하는 문제. 예외 발생시 프로그램 종료

- 예외 처리(exception handling): 의도하지 않은 상황에서 예외가 발생하는 상황을 대비한 코드를 미리 작성해두는 것

- Java에서 발생하는 예외는 java.lang.Exception 패키지에 정의됨

+) 예외발생시 파일을 닫아주거나 DB 연결을 끊어주어야 함

- throws 키워드는 호출하는 쪽에서 예외 처리를 해주어야 함

- throw 키워드는 예외 발생

 예외(exception)은 사전에 방지할 수 있는 문제이고 에러(error)는 사전에 방지할 수 없는 문제

더보기
더보기

예외처리

try {
    예외가 발생할 가능성이 있는 코드;
} catch (예외명 e) {
    예외가 발생했을 때 실행할 코드;
    e.printStackTrace(); // 상세한 예외 내용 출력. 개발 단계에서만 이용
}

예외 발생 여부와 상관없이 실행

try {
    예외가 발생할 가능성이 있는 코드;
} catch (예외명 e) {
    예외가 발생했을 때 실행할 코드;
} finally {
    예외 발생 여부를 떠나 무조건 실행할 코드
}

throws를 이용한 예외처리

접근제어자 type methodName() throws 예외타입1, 예외타입2, ... {
    예외가 발생할 수 있는 코드;
}

throw로 예외 발생

throw new ExceptionClassName("...");

예외처리 예시

더보기
더보기
public class Main {
    public static void main(String[] args) {
        try {
            System.out.println(100 / 0);
        } catch (ArithmeticException e) {
            System.out.println("Raise Exception");
        } finally {
            System.out.println("execute finally!");
        }
    }
}

throws 예시

더보기
더보기
public class ThrowsException {
    public int div(int divisor) throws ArithmeticException {
        return 50 / divisor;
    }
    
    public void exec() {
        try {
            div(0);
        } catch (ArithmeticException e) {
            System.out.println("Wrong Arithmetic");
        }
    }
    
    public static void main(String[] args) {
        ThrowsException te = new ThrowsException();
        te.exec();
    }
}

'Java > Java 17 문법' 카테고리의 다른 글

[Java] Java - 인터페이스  (0) 2025.02.16
[Java] Java - 클래스(생성자/상속/추상클래스)  (0) 2025.02.16
[Java] Java - 메서드  (0) 2025.02.16
[Java] Java - 제어문  (0) 2025.02.16
[Java] Java - 연산자  (0) 2025.02.16