천발무금
1k
2020-12-16 14:43:05
1
157

java sql exception 질문입니다


스프링 AOP로 org.springframework.jdbc.datasource.DataSourceTransactionManager 사용 중입니다


부모 메소드(전파설정 : NOT_SUPPORTED)
부모 메소드에는 모든 소스가 try catch 걸려 있습니다
부모 메소드 소스 중 자식 메소드를 호출하는 부분이 있습니다

자식 메소드(전파설정 : NOT_SUPPORTED)

[질문1]
자식 메소드에서 java exceiption이 나면 부모가 catch 가능합니다
하지만, sql exception이 발생하면 부모가 catch가 불가능하던데, 혹시 이유를 아는 분이 계실까요?

[질문2]
자식 메소드에서 메소드이름 옆에 throws Exception을 붙였을 때도 sql exception이 발생하면 부모가 catch가 불가능했습니다

자식 메소드의 모든 소스를 try catch로 묶어준 후 자식메소드의 리턴 값으로 성공여부를 판단했더니 이건 잘 됩니다
혹시 이것도 왜 이런지 아시는 분 계실까요?

0
  • 답변 1

  • 하루를 즐겁게
    541
    2020-12-16 15:01:22

    RuntimeException이 발생하기 때문입니다.

    DataSourceTransactionManager 의 최상의 parent class를 살펴보면 RuntimeException을 상속하고 있고, 오류 발생 시 RuntimeException을 발생 시킵니다.

    RuntimeException은 일반적으로 언체크예외라고 불립니다.



  • 로그인을 하시면 답변을 등록할 수 있습니다.