1. 예외처리(Exception handling)
1) 프로그램 오류
- 컴파일 에러: 컴파일시 에러가 발생하는 경우
*컴파일러의 역할: 번역, 구문 체크, 최적화
- 런타임 에러: 실행 시 에러가 발생하는 경우
- 논리적 에러: 실행에 문제는 없으나 부정확한 동작을 하는 경우
2) 에러와 예외
- 에러: 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
- 예외: 프로그램 코드에 의해 수습 될 수 있는 미약한 오류
- checked, unchecked: 컴파일러 check 유무
- Unchecked: RuntimeException클래스들 -> 프로그래머 실수(예외처리 선택)
- Checked: Exception클래스들 -> 사용자 실수 등 외적 요인(예외처리 필수)
3) TDD
- 테스트 주도 개발(Test-driven development TDD)
- 초기결함을 점검하는 자동화된 테스트 케이스 작성
4) 예외처리
- 정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성
- 목적: 프로그램 비정상 종료를 막고 정상 실행 상태를 유지하는 것
- 방법: 예외를 선언하거나 try-catch 구문 사용
5) 예외처리 방법
- try-catch구문 사용
- 예외 선언(throws): 메소드에서 처리, main에게 알림, 양쪽에서 처리
6) 예외처리 구문
- try-catch문을 사용하면 예외의 종류와 일치하는 단 한개의 catch 블럭이 수행
- Exception(최상위)을 처리하는 Catch블럭은 모든 예외 처리 가능(마지막 블럭에 위치)
- finally: 예외 발생 여부와 관계없이 실행되어야 하는 코드(마지막에 위치)
*return 수행시 finally를 수행하고 종료 / exit수행시 바로 종료
- 중첩 가능(*중첩 시 참조변수값 주의)
7) 예외 고의 발생
- 객체 생성: Exception e = new Exception (“고의로 발생시켰음”);
- 예외 발생: throw e;
- 호출 스택 출력: printStackTrace(); // 처리된 예외 확인 용도로 사용
8) 메소드에 예외 선언
- 호출한 메소드에서 예외처리를 해야할 때 사용(예외를 호출한 메소드로 전달)
- 메소드 뒤에 throws Exception 추가해서 사용
9) 사용자 정의 예외 생성
- Exception 클래스를 상속 받아서 에러 코드를 저장
- ERR_CODE(int)와 메시지(String) 변수를 추가하고 getErrCode() 메소드 추가
'프로그래밍 > Java' 카테고리의 다른 글
[Java 요약 정리] 6. 지네릭스(Generics) (0) | 2018.12.26 |
---|---|
[Java 요약 정리] 5. 컬렉션 프레임워크(Collections Framework) (0) | 2018.12.26 |
[Java 요약 정리] 4. 날짜와 시간 (0) | 2018.12.23 |
[Java 요약 정리] 3. java.lang 패키지 (0) | 2018.12.23 |
[Java 요약 정리] 1. 객체지향 프로그래밍(OOP) (0) | 2018.12.23 |