본문 바로가기

개발/자바

9주차: 예외처리

본 포스팅은 백기선씨의 자바스터디 내용을 학습하며 작성하였습니다. 

목표

자바의 예외 처리에 대해 학습하세요.

학습할 것 (필수)

  • 자바에서 예외 처리 방법 (try, catch, throw, throws, finally)
  • 자바가 제공하는 예외 계층 구조
  • Exception과 Error의 차이는?
  • RuntimeException과 RE가 아닌 것의 차이는?
  • 커스텀한 예외 만드는 방법

 

1. 자바의 예외처리 방법

1.1 예외처리하기 (try, catch, finally)

try {
  // 프로그램 실행시 처음 실행.
  
} catch (예외1) {
  // 예외1에 대한 처리 
  
} catch (예외2) {
  // 예외2에 대한 처리
  
} finally {
  // try-catch의 에러 발생 여부 상관 없이 항상 실행
}

 

1.2 예외 발생시키는 방법 (throw, throws)

1.2.1. 예외가 발생한 시점에서 직접 처리하는 법 (throw)

// FoolException.java
public class FoolException extends Exception {
}

// 호출 시점
public class Test {
	public void sayNick(String nick) {
    	try {
        	if("fool".equals(nick)) {
            	throw new FoolException();
            }
            System.out.println("당신의 이름은" + nick + "입니다.");
        
        }catch(FoolException e) {
        	System.err.println("FoolException이 발생하였습니다.");
        }
    }
    
    public static void main(String[] args) {
    	Test test = new Test();
        test.sayNick("fool");
        test.sayNick("genious");
    }
}