Java 예외

Checked VS Unchecked exception

수업소개

예외처리를 필수적으로 해야 하는 checked exception과 선택적으로 하면 되는 unchecked exception에 대해서 알아봅니다.

 

 

 

강의

 

 

소스코드

import java.io.FileWriter;
import java.io.IOException;

public class CheckedExceptionApp {
    public static void main(String[] args) {
        try {
            FileWriter f = new FileWriter("data.txt");
            f.write("Hello");
            // close를 하기 전에 예외가 발생할 수 있기 때문에 finally로 처리해야 합니다.
            f.close();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}

 

댓글

댓글 본문
  1. jajada
    Checked vs unchecked exception
    두가지 종류의 예외가 있다.

    Checked는 컴파일 단계에서 예외를 확인하기 때문에 프로그램을 실행할 수 없다(감사한 컴파일러).

    Unchecked는 런타임 단계에서 발견되기 때문에 개발자가 미리 예외처리를 해두지 않으면 프로그램을 실행해 문제가 생기기 전까지는 알 수 없다(치명적).
  2. 당당
    2023.04.18
  3. Min Jupiter
    2023.01.16
  4. 코딩이취미다
    throw, throws
    가 갑자기 궁금해 지네요 ...
  5. 나연
    2022년 2월 26일 (토) 완료

    Checked vs unchecked exception
    - 체크 : 컴파일러가 체크
    -- Checked : 컴파일러가 익셉션이 일어날 지 안 일어날 지를 파악해서 익셉션이 일어날 게 뻔하거나 익셉션 처리를 꼭 처리해야 할 때 익셉션을 처리 안 하면 컴파일러가 익셉션 처리 왜 안 했냐고 컴파일도 안 되게 하는 익셉션
    -- Unchecked : 익셉션을 하든 말든 우리의 재량인 익셉션
    - Unchecked exception : Runtime exception을 포함한 그 자식들
    -- 예) `ArithmeticException`
    -- `try`/`catch`를 쓰지 않아도 컴파일이 됨. 그리고 익셉션이 발생했을 때 그때 오류 발생.
    - Checked exception : 익셉션에서 Runtime exception을 제외한 나머지
    -- 예) `IOException`, `SQLException`
    --- IO : input, output
    ---- 컴퓨터의 데이터를 파일과 같은 곳에 저장 (output), 파일에서 데이터 읽어오기 (input)
    ```java
    // Unhandled exception type IOException
    FileWriter fileWriter = new FileWriter("data.txt");
    fileWriter.write("Hello");
    fileWriter.close();
    ```

    - Checked exception : 반드시 `try`/`catch`나 `throws`를 통해 예외에 대해 조치를 해야 함
    -- 조치를 안 하고 넘어가는 것을 용인하지 않음
  6. 2021.09.01 완료
  7. boat
    감사합니다!
  8. oyuiw
    20201213
graphittie 자세히 보기