본문 바로가기

Archived(CSE Programming)/Java

Java 예외처리

https://wikidocs.net/229

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

예외란 프로그래밍 상 문법적으로는 이상이 없으나 프로그램 실행 중에 발생하는 예기치 못한 사건으로 발생하는 에러를 뜻한다. 

 

처리 문법은 

try~catch~finally

public class Test {
    public void shouldBeRun() {
        System.out.println("ok thanks.");
    }

    public static void main(String[] args) {
        Test test = new Test();
        int c;
        try {
            c = 4 / 0;
        } catch (ArithmeticException e) {
            c = -1;
        } finally {
            test.shouldBeRun();
        }
    }
}

throw를 통해 예외 발생 , Class 내에서 예외를 다른 곳으로 미루고 싶다면 throws

public class Test {
    public void sayNick(String nick) {
        if("fool".equals(nick)) {
            throw new FoolException();
        }
        System.out.println("당신의 별명은 "+nick+" 입니다.");
    }

    public static void main(String[] args) {
        Test test = new Test();
        test.sayNick("fool");
        test.sayNick("genious");
    }
}
public void sayNick(String nick) throws FoolException {
    if("fool".equals(nick)) {
        throw new FoolException();
    }
    System.out.println("당신의 별명은 "+nick+" 입니다.");
}

트랜잭션은 하나의 작업 단위 -> 예외처리를 통해 작업 단위를 구분하고, 하나의 작업 중에 발생하는 에러에 대해 공통으로 처리할 수 있다.

상품발송() {
    try {
        포장();
        영수증발행();
        발송();
    }catch(예외) {
       모두취소();
    }
}

포장() throws 예외 {
   ...
}

영수증발행() throws 예외 {
   ...
}

발송() throws 예외 {
   ...
}

'Archived(CSE Programming) > Java' 카테고리의 다른 글

Java 마커 인터페이스  (0) 2019.11.03
Java_메모리 구조  (0) 2019.11.03
Java 컬렉션(Collection)  (0) 2019.11.03
Java 추상클래스, 인터페이스  (0) 2019.11.03
Java 오버로딩과 오버라이딩  (0) 2019.11.02