일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 개발공부
- ☆
- 자바의정석연습문제
- 백준자바
- 백준9단계
- 자바의정석
- dp
- ★
- 코딩공부
- 동적계획법
- dfs
- 자바의정석연습문제풀이
- 무료코딩강의
- BFS
- 백준
- 브루트포스
- 무료개발강의
- 알고리즘공부
- 백트래킹
- 자바
- Java개념
- 백준단계별로풀어보기
- 다이나믹 프로그래밍
- 백준알고리즘
- 알고리즘
- 빅오 표기법
- 시간 복잡도
- java
- 자바공부
- 자바개념
- Today
- Total
더 많이 실패하기
코딩공부 60일차: 자바의 정석 / 자바의 정석 97~101강 본문
개발 공부 60일차
자바의 정석 기초편 강의
https://www.youtube.com/watch?v=oJlCC1DutbA&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp
총 171개의 강의로 구성되어 있다
총 강의 시간은 80시간 정도
강의는 기초편을 기준으로 제작되어 있지만,
http://www.yes24.com/Product/Goods/24259565
Java의 정석 - YES24
최근 7년동안 자바 분야의 베스트 셀러 1위를 지켜온 `자바의 정석`의 최신판. 저자가 카페에서 12년간 직접 독자들에게 답변을 해오면서 초보자가 어려워하는 부분을 잘 파악하고 쓴 책. 뿐만 아
www.yes24.com
링크로 첨부한 자바의 정석 3판으로도 무리가 없다는 댓글이 있어 그대로 진행
ch 8 - 1~3 프로그램 오류, 예외 클래스의 계층구조
(3판 기준 414~416쪽)
https://www.youtube.com/watch?v=fcRapZYB29c&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=97
1. 예외처리(exception handliing)
1.1 프로그램 오류
컴파일러의 기능
구문체크
번역
최적화
①컴파일 에러(compile-time error): 컴파일할 때 발생하는 에러
컴파일의 기능
-구문체크
-번역
-최적화
②런타임 에러(runtime error): 실행할 때 발생하는 에러
-에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류
-예외(exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류
③논리적 에러(logical error): 작성 의도와 다르게 동작
에러는 어쩔 수 없지만, 예외는 처리해야 한다
예외처리의 정의와 목적
정의: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것
목적: 프로그램의 비정상 종료를 막고 정상적인 실행상태를 유지하는 것
1.2 예외 클래스의 계층구조
Exception클래스들: 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외
-IOException (입출력 예외) 등
RuntimeException: 프로그래머의 실수로 발생하는 예외
ch 8 - 4~6 예외 처리하기, try-catch문의 흐름
(3판 기준 416~422쪽)
https://www.youtube.com/watch?v=I4XrVgCzKM4&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=98
1.3 예외처리하기 - try-catch문
try {
//예외 발생 가능성이 있는 문장 적기
} catch (exception e1) {
//e1을 처리하기 위한 문장
}
try문의 { }은 생략 불가
1.4 try-catch문에서의 흐름
1.5 예외의 발생과 catch 블럭
예외가 발생한 시점부터 그 이후의 문장들은 실행되지 않는다(해당 catch블럭만 실행하고 try 블럭 빠져나감)
예외가 발생하지 않으면 catch문에 들어가지 않는다
모든 예외를 처리할 수 있는 catch(Exception e) { }는 제일 마지막에 둔다
ch 8 - 7, 8 printStackTrace(), 멀티 catch 블럭
(3판 기준 422~424쪽)
https://www.youtube.com/watch?v=81_BL9qSa9w&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=99
1.5 예외의 발생과 catch 블럭
printStackTrace()와 getMessage()
예외가 발생하면 예외객체가 생성된다
다음과 같은 메서드들이 이 객체에 있는 정보들을 볼 수 있게 해준다
printStackTrace(): 예외발생 당시의 호출스택(Call Stack)에 있었던 메서드의 정보와 예외 메시지릴 화면에 출력한다
getMessage(): 발생한 예외클래스의 인스턴스에 저장된 메시지를 얻을 수 있다
멀티 catch블럭
내용이 같은 catch블럭을 하나로 합친 것(JDK 1.7부터 가능)
부모 자식 관계는 Instranceof 때문에 부모만 써도 의미상 동일하기 때문에 둘이 같이 쓰지 않는다
참조변수 e는 두 ExceptionN의 공통 멤버만 사용 가능하다
ch 8 - 9, 10 예외 발생시키기
(3판 기준 424~426쪽)
https://www.youtube.com/watch?v=Ak7Z4jhMKRg&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=100
1.6 예외 발생시키기
① 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든다
Exception e = new Exception();
② 키워드 throw를 이용해서 예외를 발생시킨다
throw e;
checked예외: 컴파일러가 예외 처리 여부를 체크 (예외 처리 필수 - try-catch문 필수)
-Exception클래스들
unchecked예외: 컴파일러가 예외 처리 여부를 체크 안함(예외 처리 선택)
-RuntimeException클래스들
ch 8 - 11~14 예외 선언하기, finally 블럭
(3판 기준 427~435쪽)
https://www.youtube.com/watch?v=Px3u24AvadM&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp&index=101
1.7 메서드에 예외 선언하기
예외를 처리하는 방법
① try-catch문
② 예외 선언하기 - 예외 떠넘기기(알리기)
메서드가 호출시 발생가능한 예외를 호출하는 쪽에 알리는 것
③ 은폐
finally 블럭
try {
} catch (Exception e1) {
} finally {
//예외의 발생여부에 관계없이 항상 수행되어야 하는 문장들
//try-catch문의 맨 마지막에 위치
}
예외 발생여부와 관계없이 수행되어야 하는 코드 - 코드 중복 제거를 위함
'자바' 카테고리의 다른 글
코딩공부 27일차: 프로그래머스 자바 입문 - 9. 예외 처리 (0) | 2022.08.27 |
---|---|
코딩공부 26일차: 프로그래머스 자바 입문 - 8. 인터페이스와 다른 형식의 클래스(2) (0) | 2022.08.26 |
코딩공부 25일차: 프로그래머스 자바 입문 - 8. 인터페이스와 다른 형식의 클래스(1) (0) | 2022.08.26 |
코딩공부 24일차: 프로그래머스 자바 입문 - 7. 상속 (0) | 2022.08.24 |
코딩공부 23일차: 프로그래머스 자바 입문 - 6. 클래스 다듬기 (0) | 2022.08.23 |