Checked Exception vs Unchecked Exception 을 알아보자!

Karim·2023년 7월 1일
2

study

목록 보기
7/7
post-thumbnail

1. Exception 란

Exception

  • 사용자의 잘못된 조작이나 개발자의 코딩 실수로 인해 발생하는 프로그램 오류
  • 예외는 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있음

💡 java.lang.Exception

  • 모든 예외 클래스는 java.lang.Exception 클래스를 상속
    • Exception 클래스 자체는 checked exception 이다.
    • Exception 클래스는 Throwable 클래스의 자식 클래스이다.
    • Exception 클래스의 자식 클래스 중 RuntimeException 클래스는 Unchecked 이다.
    • 그 외 checked exception이 있다.

💡 exception class 구조

2. Error 란

Error

  • system에 비정상적인 상황이 발생했을 경우 발생
  • outOfMemory, StackkOverFlow
  • application code 단에서 처리 할 수 없음

3. Checked Exception 란

Checked Exception

  • 컴파일할 때 예외에 대한 처리를 강제
  • 주로 외부의 영향으로 발생
  • 예외 처리 강제 : 예외가 발생할 경우 try-catch, throws 로 강제
  • 예외로부터 합리적으로 회복할 수 있는 경우 사용
    • rollback X
  • 예외 발생 시 내부의 예외가 외부로 알려지면서 캡슐화가 깨질 수 있음.

💡 종류

  • Exceeption의 상속 받는 하위 클래스 모두
  • ex ) IOException, SQLException, FileNotFoundException..

✒️

    File file;
    try {
    
        file = FileFindService.find(fileName);
    } catch (FileNotFoundException e){
    	// 추 후 예외 처리 부분
    }

4. Unchecked Exception 란

Unchecked Exception

  • 컴파일할 때 예외에 대한 처리를 강제하지 않음
  • 주로 프로그래머의 실수에 의해 발생
  • 예외로부터 합리적으로 회복할 수 없는 경우
    • rollback O

💡 종류

  • RuntimeExceeption의 상속 받는 하위 클래스 모두
  • ex ) NullPointerException, IllegalArgumentException, IndexOutOfBoundException, SystemException..

✒️ non-rollback 처리

    try {
        System.out.println( 31 / 0 );
    } catch (RuntimeException e){
    	// 추 후 예외 처리 부분
    }

📌 여담

  • 푸 강의 듣고~

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

0개의 댓글