Class ExceptionTranslator

java.lang.Object
com.altibase.document.exception.ExceptionTranslator

public class ExceptionTranslator extends Object
하위 계층에서 발생한 예외를 Altibase Document API의 의미있는 상위 계층 예외로 변환하는 유틸리티 클래스이다.

이 클래스는 SQLException의 SQLSTATE 코드를 분석하여, 단순한 데이터베이스 오류를 AltibaseConnectionException, AltibaseQueryException 등과 같이 구체적인 예외 상황으로 변환하는 핵심 로직을 담당한다.

이 클래스는 상태를 가지지 않는(stateless) 유틸리티 클래스이며, 모든 메서드는 static이다.

  • Constructor Details

    • ExceptionTranslator

      public ExceptionTranslator()
  • Method Details

    • translateSqlException

      public static AltibaseRuntimeException translateSqlException(SQLException aSqlEx, String aOperation)
      주어진 SQLException을 적절한 AltibaseRuntimeException 하위 클래스로 변환한다.

      변환은 예외에 포함된 SQLSTATE 코드를 기반으로 수행된다. 적절한 하위 예외를 찾지 못할 경우, 가장 일반적인 AltibaseCollectionException으로 변환된다.

      Parameters:
      aSqlEx - 변환할 원본 SQL 예외
      aOperation - 예외가 발생한 작업의 종류 (예: "find", "insert"). 예외 메시지에 포함되어 디버깅을 돕는다.
      Returns:
      변환된 AltibaseRuntimeException 인스턴스
    • translateException

      public static AltibaseRuntimeException translateException(Exception aEx, String aOperation)
      일반적인 Exception을 적절한 AltibaseRuntimeException 하위 클래스로 변환한다.

      이 메서드는 SQLException 외에도 UnsupportedEncodingException 등 다른 유형의 예외를 처리하는 범용 변환기 역할을 한다. 만약 입력된 예외가 이미 AltibaseRuntimeException의 인스턴스라면, 아무 변환 없이 그대로 반환한다.

      Parameters:
      aEx - 변환할 원본 예외
      aOperation - 예외가 발생한 작업의 종류. 예외 메시지에 포함된다.
      Returns:
      변환된 AltibaseRuntimeException 인스턴스