본문 바로가기
728x90
반응형
예외 처리는 프로그램이 예기치 않은 상황에서 발생한 오류를 대비하여 처리하는 메커니즘으로,
예외 상황을 고려하여 코드를 작성한다.

 

try-catch-finally 블록을 사용한 예외 처리

class ExceptionExample {
    void divide(int a, int b) {
        try {
            // try 블록 안에서 예외가 발생할 수 있는 코드 작성
            int result = a / b; // 0으로 나눌 때 예외 발생 가능성
            System.out.println("Result: " + result); // 예외 발생하지 않으면 결과 출력
        } catch (ArithmeticException e) {
            // catch 블록에서 예외 처리
            System.out.println("Error: " + e.getMessage()); // 예외 메시지 출력
        } finally {
            // finally 블록은 예외 발생 여부와 상관없이 항상 실행
            System.out.println("Finally block executed"); // 항상 실행되는 문장
        }
    }
}

public class Main {
    public static void main(String[] args) {
        ExceptionExample example = new ExceptionExample();

        // divide 메서드 호출
        example.divide(10, 0); // 0으로 나누기 시도

        // Output:
        // Error: / by zero
        // Finally block executed
    }
}
  • try 블록 안에서 예외가 발생할 수 있는 코드를 작성하고, catch 블록에서 예외를 처리한다. catch 블록은 해당 예외가 발생하면 실행됩니다.
  • finally 블록은 예외 발생 여부와 상관없이 항상 실행되는 블록으로, 리소스 해제 등에 사용된다.

사용자 정의 예외 클래스

// 사용자 정의 예외 클래스
class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

class ExceptionExample {
    void checkAge(int age) throws CustomException {
        if (age < 0) {
            throw new CustomException("Age cannot be negative");
        }
        System.out.println("Age is valid: " + age);
    }
}

public class Main {
    public static void main(String[] args) {
        ExceptionExample example = new ExceptionExample();

        try {
            example.checkAge(-10);
        } catch (CustomException e) {
            System.out.println("Error: " + e.getMessage()); // Output: Error: Age cannot be negative
        }
    }
}

 

  • 사용자 정의 예외 클래스는 기본 예외 클래스(Exception)를 상속하여 사용자가 직접 정의한 예외를 나타내는 클래스이다.
  • 예외 처리 시에는 throw 키워드를 사용하여 해당 예외를 직접 발생시킬 수 있습니다. 호출한 쪽에서는 catch 블록을 통해 이를 처리합니다.

 

다음 5탄에서는 배열과 JAVA 컬렉션 사용, 인터페이스와 추상 클래스에 대해 적어보도록 하겠습니다 :)

2023.08.06 - [코딩/JAVA] - Spring 공부하기 전 알아야하는 JAVA 기초 개념 (5탄) - 배열과 컬렉션 & 인터페이스와 추상 클래스

 

Spring 공부하기 전 알아야하는 JAVA 기초 개념 (5탄) - 배열과 컬렉션 & 인터페이스와 추상 클래스

배열의 선언과 사용 public class ArrayExample { public static void main(String[] args) { // 배열 선언과 초기화 int[] numbers = new int[5]; numbers[0] = 10; numbers[1] = 20; numbers[2] = 30; numbers[3] = 40; numbers[4] = 50; // 배열 요소

quddkflty.tistory.com

 

728x90
반응형