예외 처리를 하는 이유
=> 예외가 떨어지게 되면 실행중이던 프로그램은 강제 종료가 된다.
하지만 예외 처리를 하게 되면 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다.
예외는 일반 예외(Exception)와 실행예외 (Runtime Exception)이 있다.
일반 예외 => 컴파일 체크 예외. 자바 소스를 컴파일 하는 과정에서 예외처리가 필요한지 검사, 불필요하다면 컴파일 에러
실행 예외 => 자바 컴파일러가 체크 하지 않음. 개발자가 하는 예외 처리
| | 실행 예외들
NullPointerException : 객체 참조가 없는 상태.(객체가 없는 상태에서 사용할 때 나오는 예외)
ArrayIndexOutOfBoundsException : 배열에서 인엑스 범위를 초과하여 사용할 경우 나오는 예외
NumberFormatException : 문자열로 되어있는 데이터를 숫자로 변경실킬 때 자주 나오는 예외
ClassCastException : 클래스의 타입을 강제로 변환(Casting)을 시도 할 경우
예외 처리
try ~ catch ~ final
try {
예외가 필요한 실행 코드
} catch( 예외 변수) { // 다중 catch 사용 가능
떨어진 예외 표시
} final { // final은 생략 해도된다. (예외 발생 여부와 상관없이 항상 실행할 내용이 있을 경우에 사용)
이 안에는 주로 사용한 메소드 끝낼 때
}
예외 던지기
메소드 선언부에 throws 예외1, 예외2.....{ }
메소드를 호출한 쪽으로 예외를 넘기는 역할.
public static void main(String[] args) throws Exception { }
// 메인 메소드의 경우 다른 클래스에서 메인 메소드를 호출하지 않기 때문에 throws를 사용한 것이고
: 일반 클래스는 선언부에 예외처리하면 호출 할때마다 매번 예외처리를 해야하므로 예외를 내부에다 작성한다.
throws 키워드가 붙은 메소드는 반드시 try ~ catch 구문 내부에서 호출해야 한다. catch 부분에는 던져진 예외를 잡고..
'개발노트 > Java' 카테고리의 다른 글
[Java] File Class (0) | 2021.03.19 |
---|---|
[Java] method (0) | 2021.03.19 |
[Java] String Method (0) | 2021.03.17 |
[Java] 배열과 ArrayList (0) | 2021.03.17 |
[Java] 보수 (0) | 2021.02.20 |