해결된 질문
작성
·
119
0
안녕하세요 예외처리에 대한 질문이생겨 글 적습니다 !
MemberServiceV3_2에서 bizLogic()을 호출해서 메서드에서 던져진 SQLException을 잡습니다
그런데 MemberServiceV3_1에서 트랜잭션 매니저로 처리하는 try catch문에서는 Exception으로 예외를 잡는데
Exception이 모든 예외의 조상이라서 모든 예외를 잡는건 알고있습니다 !
그런데 헷갈리는 부분이 SQLException이 commit을 하면 사라지나요 ?아니면
이때 SQLException이 잡히나요 ? 잡히지만 이미 커밋을 해버려서 롤백할 데이터가 없기 때문에 SQLException을 IllegalStateException으로 바꿔주기만 하고 try catch문을 빠져나오는 걸까요 ??
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문과 직접적으로 관련된 내용은 제공된 정보에 없습니다. 따라서 정확한 답변을 드리기 어렵습니다. 하지만, SQLException이 발생하고 이미 커밋이 되었다면, 그 시점에서는 롤백할 데이터가 없기 때문에 일반적인 상황에서는 해당 트랜잭션을 롤백하는 것이 불가능합니다. SQLException을 catch한 후의 처리 방법은 애플리케이션의 비즈니스 로직과 오류 처리 전략에 따라 다를 수 있습니다. 예외를 더 구체적이고 적절한 예외로 변환하여 다시 던지거나, 특정 로직을 수행하는 등의 방법이 있을 수 있습니다. 자세한 내용은 트랜잭션 관리와 예외 처리에 대한 공식 문서나 해당 기술의 가이드를 참고해 보시는 것이 좋겠습니다.
문제 해결했습니다 감사합니다!