- 예외(Exception)는 에러(error)의 일종

1. Compile error : error
		- 문법 오류등, 컴파일이 진행 X, 실행 X

2. Exception     : 예외
		- 실행 중 발생하는 error
		- 예외(Exception)이 발생하면 그 즉시 프로그램이 강제 종료

3. 예외처리의 목적
		- 비 정상적인 종료를 막고 정상적으로 프로그램이 실행 될 수 있도록 개발자가 관리(처리)

4. Exception이 발생하면 Java(JVM)에서 예외에 맞는 예외 객체를 생성

5. Exception 도 class로 정의 되어 있음

	 Throwable <- Exception <- 하위클래스들 <- 하위클래스들

예외처리 방법

1. try ~ catch


- 하나의 try에 여러개의 catch 가능
- catch에 밑으로 가면서 더 넓은 부모타입을 선언
- try의 {} catch의 {} 에 선언된 지역변수

try {
	예외가 발생할 수 있는 구문들 작성
}catch(발생한 예외 객체 타입 선언){
	예외처리 구문
}catch(발생한 예외 객체 타입 선언){
	예외처리 구문
}catch(발생한 예외 객체 타입 선언){
	예외처리 구문
}finally {
	예외가 발생하든 안하든 무조건 실행 하는 영역
}

2. Throws

- 예외처리를 자기가 하는 것이 아니라 메서드를 호출한 쪽으로 위임

메서드 선언부 () throws 예외객체타입명1, 예외객체타입명2, ... {}

사용자 정의 예외 클래스

- 개발자가 정의하는 예외 클래스

1. 예외 클래스 선언

	- 예외 클래스 선언하고 Exception 클래스 상속

예외클래스명 extends Exception{

		//기본생성자

		//매개변수 있는 생성자
		public 클래스명(String message){
			super(message);
		}

}

2. 사용자 정의 클래스 사용

	예외 조건을 만들고
	throw new 예외클래스명("message");