자바의 예외

김수정·2020년 6월 26일
0

Java 언어적 문법

목록 보기
8/8

에러와 예외의 차이

에러 - 자바 환경에서 문제가 생긴 것.
예외 - 내가 짠 코드가 내가 의도한 것과 다른 상황에 직면한 것.

예외 처리

try catch문으로 예외처리를 해주면 프로그램이 멈추지 않고 매끄럽게 진행을 할 수 있습니다.
try를 쪼개는 건 개발자 마음이지만,
try안에서 하나라도 에러가 발생하면 try안에 있지만 에러 코드 아래에 있는 코드들은 실행될 기회가 없습니다.

public class ExceptionApp {
    public static void main(String[] args) {
        System.out.println(1);
        try {
            System.out.println(2 / 0);
        } catch(ArithmeticException e) {
            System.out.println("잘못된 계산이네요.");
        }
        System.out.println(3);
    }
}

모든 에러의 타입형 Exception도 설정 가능합니다.

e

e.getMessage() 에러 메시지 보기
e.printStackTrace() 에러 보여주기

checked vs unChecked

checked exception - 컴퓨터가 예외처리 했는지 체크하여 컴파일조차 못하게 함. IOException
unChecked exception - 컴퓨터가 체크하지 않음. RuntimeException

finally

에러가 나도 처리되어야 하는 것들을 넣어줍니다.

try-with-resource

자원 문제 예외처리할 때 코드가 길어지는 것을 방지하기 위해 자바7부터 지원합니다.
autoclosable 인터페이스를 가지고 있는 클래스가 사용 가능합니다.

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

public class TryWithResources {
    public static void main(String[] args) {
        try(FileWriter f = new FileWriter("data.txt")) {
            f.write("hello");
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

참고자료

생활코딩 자바 예외 강의

profile
정리하는 개발자

0개의 댓글