예외 처리 5

회원 예외 처리 MemberErrorCode, ExceptionHandler

MemberErrorCode @Getter @AllArgsConstructor public enum MemberErrorCode { /** * 회원가입 - 이미 존재하는 이메일, 휴대폰, 닉네임 오류 */ EXIST_EMAIL("이미 가입된 이메일입니다."), EXIST_PHONE("동일한 휴대폰 번호가 존재합니다. 다른 번호를 입력하세요."), EXIST_NICKNAME("동일한 닉네임이 존재합니다. 다른 닉네임을 입력하세요"), /** * 회원가입 - 비밀번호 오류 */ PASSWORD_LENGTH_MORE_THAN_8("비밀번호는 8자리 이상이어야합니다.(영문자, 숫자, 특수문자를 각각 1글자 이상 포함)"), PASSWORD_NOT_CONTAIN_DIGIT("비밀번호는 숫자를 한 글자 이상 포함해..

Chapter 06. 완성도 높이기

6.1 예외 처리 Ex) 존재하지 않는 회사명을 조회하는 경우 http://localhost:8080/finance/dividend/3M Note) 실행 결과 - 500 에러 (서버 에러) 그런데, 존재하지 않아서 나는 오류이므로 이는 400번 대의 에러가 더 적절하다. 따라서, 새로운 예외를 만든다. Ex) 예외 구현하기 예외 클래스를 새로 만든다. package com.dayone.exception; public abstract class AbstractException extends RuntimeException { abstract public int getStatusCode(); abstract public String getMessage(); } NoCompanyException public c..

Chapter 09. Account(계좌) 시스템 업그레이드

9.1 일관성 있는 예외 처리 에러 응답을 어떻게 줘야 Client(서버, FE, 앱 등)에서 처리하기 편리할까? HTTP status code를 활용한다 별도의 status code를 사용하는 방법 ex) 0000, -1001, -2001, -3001 errorCode(문자 코드)와 errorMessage를 사용하는 방법 - 직관적이고 편리하다. Ex) - create userId (id = 111) -> 500번 서버 오류가 난다. -> 구체적인 이유를 알 수 없음 - > AccountController에서 post mapping에서 create에 관한 예외를 던지지(try구문) 않으니까 컨트롤러 밖으로 예외를 던진다. - ErrorResponse 클래스를 만든다. package com.example..

Chapter 06. 스프링 MVC(Model-View-Controller)

6.1 스프링 MVC(Model-View-Controller) 전체 구조 소개 6.1-1 스프링 MVC 소개 - 스프링 MVC는 현 시점 국내 IT 서비스 실무에서 가장 많이 활용되는 웹 개발 기술이다. - 웹 개발 기술 변화: HTML(HyperText Markup Language) -> CGI(Common Gatewat Interface) -> Servlet -> Spring MVC -> (미래에는 무엇이 쓰일까?) - 스프링 MVC는 오랫동안 사용되고 있다. - MVC란 소프트웨어 디자인 패턴을 뜻한다. - MVC의 등장: 스파게티처럼 엉켜있는 코드가 MVC, SRP(단일 책임 원칙)과 함께 깔끔하게 정리된다. - MVC를 성공적으로 사용하면 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케..

Chapter 08 예외처리 Exception Handling

1. 예외처리(Exception Handling) Def) 예외: 컴파일도 되고 실행도 되지만 의도와 다른게 동작하는 것 1.1 프로그램 오류 - 컴파일 에러: 컴파일 시에 발생하는 에러 ex) system.out.println(); => 오류 - 런타임에러: 실행 시에 발생하는 에러 - 논리적 에러: 실행되지만, 의도와 다르게 동작하는 것 - 에러와 예외 차이 -> 에러: 코드에 의해 수습될 수 없는 심각한 오류 -> 예외: 코드로 수습할 정도의 미약한 오류(실행 잘 되지만 의도와 다르게 동작) - 예외처리의 정의, 목적 Def) 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 - 목적: 비정상 종료를 막고, 정상적 실행상태를 유지한다. 1.2 예외 클래스의 계층구도 - 모든..

Java/Java의 정석 2022.02.23