Error : 회복이 불가능 하다
Exception : 회복이 가능하다
try{
// 예외가 예상되는 구문을 시도해 볼 곳
}catch(Exception e){
// try 문에서 예외가 발생한다면, 예외에 해당되는 catch 문이 수행
}finally{
// 예외가 발생해도 안해도 수행 될 문장
}
CheckedException : 예외처리를 필수로 해줘야 한다.(컴파일 시 발생)
Throwable class : Object 클래스를 제외한 예외클래스의 최상위 클래스
throw : 강제로 예외를 발생시킨다
throws : 메서드에 예외를 선언
여러 가지 예외를 하나의 큰 분류릐 예외로 묶어서 다루기 위해
checked exception을 unchecked exception 으로 사용하기 위해
initCause() : 지정한 예외를 원인 예외로 등록
getCause() : 원인 예외를 반환
// 연결된 예외
public class main {
public static void main(String[] args) {
try {
// 예외 생성
NumberFormatException ex = new NumberFormatException("가짜 예외이유");
// 원인 예외 설정(지정한 예외를 원인 예외로 등록)
ex.initCause(new NullPointerException("진짜 예외이유"));
// 예외를 직접 던집니다.
throw ex;
} catch (NumberFormatException ex) {
// 예외 로그 출력
ex.printStackTrace();
// 예외 원인 조회 후 출력
ex.getCause().printStackTrace();
}
// checked exception 을 감싸서 unchecked exception 안에 넣습니다.
throw new RuntimeException(new Exception("이것이 진짜 예외 이유 입니다."));
}
}
// 출력
Caused by: java.lang.NullPointerException: 진짜 예외이유
public void someMethod() throws IOException { ... }
public void someResponsibleMethod() throws MoreSpecificException {
try {
this.someMethod();
} catch (IOException e) {
throw new MoreSpecificException(e.getMessage()); // 예외를 다른 예외로 전환해줌
}
}
클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법, <> 안에 데이터 타입을 지정한다.
ex) ArrayList
public class Generic<T>{...}
Generic,ArrayList<> 와 같이 제네릭을 사용한 클래스, 원시 타입 이라고 한다.
제네릭 사이 변수 T : 타입 변수
객체의 static 멤버에 사용 할 수 없다.
public class Generic<T, U, E> {
public E multiTypeMethod(T t, U u) { ... }
}
Generic<Long, Integer, String> instance = new Generic();
instance.multiTypeMethod(longVal, intVal);

위기 봉착, 컨트롤러 어노테이션 왜 안생길까?
바보처럼 라이브러리 추가할때 spring web을 추가 안해줘서 따로 build.gradle에 추가해줬다
postman : 개발된 API를 테스트하여 문서화 또는 공유 할 수 있도록 해주는 플랫폼.
Workspaces - My Workspace - New - HTTP 클릭 - 통신방식 선택,input 창에 주소줄 넣기
내장 톰캣 기본 PORT : 8080
데이터를 주고 받는 양식을 정의한 통신 규약 중 하나
1. Browser 요청(Http request) -> Server -> 응답 Browser(Http response)
2. 웹페이지 - 개발자도구 - 네트워크 탭

3. Headers
3. 1. General / Request Headers : 서버에 요청하는 request 데이터
- Status Code : Http 상태코드 / 세자리의 숫자로 이루어짐
- 1xx : 요청이 수신 됨, 현재 처리 중임을 나타 냄, 주로 서버와 연결상태를 확인하기 위한 용도로 사용
- 2xx : HTTP 요청이 성공적으로 처리되었음을 나타냄
- 3XX : Client 가 추가적인 조치를 필요로 할때, 주로 페이지 이동 (redirection)
- 4xx : client에 오류가 있을때 사용 됨. 잘못된 요청, 인증오류 등에 사용(페이지 없음 ㅡㅡ)
- 5xx : 서버에 오류가 발생했음을 나타냄, 서버 내부의 오류, 서버의 과부하
3. 2. Response Headers : 서버가 웹페이지 데이터와 함께 보낸 추가적인 데이터
4. Response 탭 : 서버에서 브라우저로 반환해준 웹 페이지를 그려주기 위한 데이터
1. Payload (= 데이터,실제데이터)
- GET method를 제외하곤 모두 Payload를 보낼 수 있다 -> HTTP에서의 약속
오늘 목표로 했던 것 중 하나만 했다...아무래도 목표잡고 한게 처음이라 얼마나 할 수 있는지 몰랐던 것 같다 하하하하하하핳....하하하 내일은 오늘보다 줄여서 해야지 일단 내일의 계획도 오늘 짜본다!