관리 메뉴

나만의공간

CheckedException 과 unCheckedException 설명 본문

IT/JAVA

CheckedException 과 unCheckedException 설명

밥알이 2024. 2. 22. 16:47

자바로 개발을 하다 보면 CheckedException 과 unCheckedException에 대한 이야기가 나오구 해당 Exception으로 인하여 트랜잭션 관리와도 연결되게 됩니다.

위 두개의 Exception용어가 어떤 차이가 있는지 정리를 했습니다.

Checked Exception (확인된 예외)

  • Checked Exception은 컴파일러가 예외 처리를 강제하는 예외입니다. 이 예외들은 주로 외부 리소스나 외부 시스템과의 상호 작용 시 발생할 수 있습니다.
  • 메서드가 Checked Exception을 발생시키면 해당 메서드를 호출한 곳에서 예외를 처리해야 합니다. 이는 예외를 try-catch 블록으로 처리하거나, throws 절을 통해 예외를 호출자에게 전파하여 처리할 수 있습니다.
  • Checked Exception은 코드 안정성을 높이는 데 도움을 줍니다. 컴파일 시점에서 예외 처리를 강제하므로 프로그래머가 예외 상황을 인지하고 적절히 대응할 수 있게 됩니다.

  •  

Unchecked Exception (확인되지 않은 예외)

  • Unchecked Exception은 컴파일러가 예외 처리를 강제하지 않는 예외입니다. 프로그래머가 명시적으로 예외 처리를 하지 않아도 됩니다.
  • 주로 프로그램의 오류나 잘못된 사용으로 인한 예외 상황을 나타냅니다. 대부분의 경우 이러한 예외는 개발자의 코드 수정을 통해 방지할 수 있습니다.
  • Unchecked Exception은 주로 RuntimeException을 상속받는 예외로, 프로그래머의 실수나 프로그램의 논리 오류에 의해 발생합니다.

예제코드


package jpabook.jpashop;

import java.io.File;
import java.io.FileReader;
import java.util.concurrent.ExecutionException;

/**
 * CheckedExcepition
 * unCheckedException
 */
public class ExceptionExample {

	// Checked Exception 발생 메소드
	public void checkedExceptionMethod() throws Exception {
		File file = new File("example.txt");
		FileReader fr = new FileReader(file);
		System.out.println(fr);
	}

	// Unchecked Exception 발생 메소드
	public void uncheckedExceptionMethod() {
		int[] arr = new int[5];
		// 배열범위를 초과하여 unckecked Exception 발생
		System.out.println(arr[10]);
	}

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

		try {
			//checked Exception 실행
			example.checkedExceptionMethod();
		} catch (Exception e) {
			System.out.println("Checked Exception 발생: " + e.getMessage());
		}

		// Unchecked Exception 실행
		try {
			example.uncheckedExceptionMethod();
		} catch (Exception e) {
			System.out.println("Unchecked Exception 발생: " + e.getMessage());
		}
	}
}

 

 

Comments