exception
-
예외(Exception) (2)BackEnd/Spring DB 2023. 1. 28. 09:00
서비스 계층은 가급적 특정 구현 기술에 의존하지 않고, 순수하게 유지하는 것이 좋습니다. 트랜잭션 부분에서 대부분 해결하였지만 예외에 대한 의존 문제가 남았습니다. java.sql.SQLException이라는 JDBC 기술에 의존한다는 점입니다. 이 문제를 해결하기 위해서는 리포지토리가 던지는 SQLException 체크 예외를 런타임 예외로 전환해서 서비스 계층에 던지면 됩니다. 런타임 예외는 서비스 계층이 무시할 수 있기 때문입니다. 인터페이스 도입 인터페이스를 도입하면 MemberService는 MemberRepository 인터페이스에만 의존하면 됩니다. 구현 기술 변경 시 DI를 사용해 MemberService 코드의 변경 없이 구현 기술을 변경할 수 있습니다. package hello.jdbc..
-
예외(Exception) (1)BackEnd/Spring DB 2023. 1. 28. 07:00
예외 계층 Throwable: 최상위 예외이다. 하위에 Exception과 Error가 있다. Error(언체크 예외): 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외이다. 개발자는 이 예외를 잡으려고 해서는 안된다. 상위 예외를 catch로 잡으면 그 하위 예외까지 잡기 때문에 Throwable 예외도 잡으면 안된다. Exception(체크 예외): Exception과 그 하위 예외는 모두 컴파일러가 체크하는 체크 예외이다. (단, RuntimeException은 예외) RuntimeException(언체크 예외, 런타임 예외): RuntimeException과 그 하위 예외는 모두 컴파일러가 체크하지 않는 언체크 예외이다. 예외 기본 규칙 예외는 잡아서 처리하거..
-
Exception HandlingBackEnd/Spring Boot 2022. 4. 5. 22:00
Overview 해당 글에서는 Spring AOP를 이용하여 Exception Handling 처리를 하겠습니다. GoodsController Exception Handling 처리를 위해 상품코드: 1로 호출 시에만 정상적으로 상품정보를 반환하고 그 외에는 Exception이 발생한다고 가정하겠습니다. (상품코드: 10000 호출 시 사용자 정의 Exception인 GoodsNotFoundException 발생, 그 외 최상위 Exception인 Exception 발생) package com.spring.springboot; import com.spring.springboot.domain.Goods; import com.spring.springboot.exception.GoodsNotFoundExcep..