일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- pipenv
- 자바
- Django
- 컴퓨터과학
- c언어문자열
- 부스트코스
- 건대입구맛집
- 포인터
- 노마드코더
- JavaScript
- 장고
- 남양주맛집
- 강원도속초맛집
- 아스키코드
- removetooltip
- BeautifulSoup
- python3
- 속초여행
- 가상환경
- 코딩독학
- Python
- FLUTTER
- 성수동카페
- richtext
- DOM
- 추상클래스
- 정렬알고리즘
- popupmenubutton
- 알고리즘
- 상속
- Today
- Total
YUYANE
Java/ Exception 본문
학습 강의
pocu-ko.teachable.com/courses/enrolled
예외(exception)
1) try-catch-finally문
try{
//시도할 코드들
} catch(<예외 클래스 1> <변수명>){
//예외가 발생할 경우 해당 예외를 처리할 코드
} catch(<예외 클래스 2> <변수명>){
//예외가 발생할 경우 해당 예외를 처리할 코드
} finally {
//예외 발생 여부와 상관 없이 항상 실행 되는 코드
}
- catch는 하나 이상 존재 가능
- finally는 생략 가능
2) catch와 예외 클래스
- IOException: 입출력과 관련된 예외 클래스들의 부모 클래스
- EOFException, FileNotFoundException, FileSystemException 등
- ArithmeticException: 산술과 관련된 예외(예: 0으로 나누기)
- IndexOutOfBoundsException: 배열이나 문자열의 색인 범위가 넘어갈 때
- 등등
- 특정하기 어렵거나 모든 예외를 잡고 싶다면 Exception 클래스(최상위 부모 예외 클래스) 사용
3) 다중 catch 블록 작성 시 주의점
- 부모 예외 클래스가 자식보다 먼저 나오면 안됨
- 특정 -> 일반 순서로 적어나갈 것
4) printStackTrace( ) / getMessage( )
- 현재 발생한 예외의 호출 스택을 보여줌
- 예외가 왜 발생했는지를 설명
- 메시지가 없을 수도 있는데, 이 때는 null을 반환
5) 예외가 발생했을 때 진행 순서
a. try 블록의 실행이 중단됨
b. catch 블록 중에 발생한 예외를 처리할 수 있는 블록이 있는 지 찾음(위에서부터 하나씩)
c.
- 예외를 처리할 수 있는 catch 블록이 없다면 : finally 블록을 실행 후, 한 단계 높은 try 블록으로 전달
- 예외를 처리할 수 있는 catch 블록이 있다면
- 해당 catch 블록 안의 코드들이 실행
- finally 블록을 실행
- try 블록 이후의 코드 실행
'Programming Languages > JAVA' 카테고리의 다른 글
Java/ 추상 메서드, 클래스 (0) | 2020.12.28 |
---|---|
Java/ Object 클래스와 메서드(toString(), equals(),hashCode()) (0) | 2020.12.23 |
Java/ final (0) | 2020.12.22 |
Java/ 다형성(polymorphism) (0) | 2020.12.22 |
Java/ 상속 vs 컴포지션 (0) | 2020.12.16 |