1. 예외처리
1.1. 프로그램 오류
- 컴파일러 에러와 런타임 에러
- 컴파일 에러 : 컴파일할 때 발생하는 에러
- 런타임 에러 : 실행할 때 발생하는 에러
- Java의 런타임 에러 : 에러와 예외
1.2. 예외처리의 정의와 목적
- 에러는 어쩔 수 없지만, 예외는 처리해야한다.
- 예외처리의 정의와 목적
1.3. 예외처리구문 - try-catch
- 예외를 처리하려면 try-catch문을 사용해야 한다.
1.4. try-catch문에서의 흐름
1.5. 예외 발생시키기
1.6. 예외 클래스의 계층구조
- 예외 클래스는 크게 두 그룹으로 나뉜다.
1.7. 예외의 발생과 catch블럭
- try블럭에서 예외가 발생하면 발생한 예외를 처리할 catch블럭을 찾는다.
- 첫번째 catch블럭부터 순서대로 찾아 내려가며 일치하는 catch블럭이 없으면 예외는 처리되지 않는다.
- 예외의 최고 조상인 Exception을 처리하는 catch블럭은 모든 종류의 예외를 처리 할 수 있다.
- 반드시 마지막 catch블럭이어야 한다.
- 발생한 예외 객체를 catch블럭의 참조변수로 접근할 수 있다.
1.8. finally블럭
- 예외의 발생여부와 관계없이 실행되어야 하는 코드를 넣는다.
- 선택적으로 사용할 수 있으며, try-catch-finally의 순서로 구성된다.
- 예외 발생시 try-chach-finally 순서로 실행되고 예외 미발생시 try-finally의 순서로 실행된다.
- try 또는 chtch블럭에서 return문을 만나도 finally블럭은 수행된다.
1.9. 메서드에 예외 선언하기
- 예외를 처리하는 또 다른 방법
- 사실은 예외를 처리하는 것이 아니라 호출한 메서드로 전달해주는 것
- 호출한 메서드에서 예외처리를 해야만 할 때 사용
1.10. 예외 던지기
- 예외를 처리한 후에 다시 예외를 생성해서 호출한 메서드로 전달하는 것
- 예외가 발생한 메서드와 호출한 메서드 양쪽에서 예외를 처리해야 하는 경우에 사용
1.11. 사용자정의 예외 만들길
- 기존의 예외 클래스를 상속받아서 새로운 예외 클래스를 정의 할 수 있다.
- 에러코드를 저장할 수 있게 ERR_CODE와 getErrCode()를 멤버로 추가
'프로그램 이론 > JAVA' 카테고리의 다른 글
[JAVA]날짜와 시간 & 형식화 (0) | 2018.05.25 |
---|---|
[JAVA]lang패키지 (0) | 2018.05.24 |
[JAVA]객체지향언어의 개넘 - 2 (0) | 2018.05.23 |
[JAVA]객체지향언어의 개념 - 1 (0) | 2018.05.20 |
[JAVA]배열(Array) (0) | 2018.05.20 |