2013-09-05 4 views
3

내 Join query jooq 레코드를 POJO로 변환하기 위해 RecordMapperProvider를 사용하고 있습니다.Jooq : ArrayIndexOutOfBoundsException : -1

Convert.convert(record.getValue("customer_id"), Integer.class); 
.... 

내가 모든 열 필드를 구성 할 것처럼 다른 분야의 많은,하지만이 쿼리에 대해 내가 그것을 가져 오는 아니에요하고는, ArrayIndexOutOfBoundsException가 발생합니다 : -1 내 질문 대신,

입니다

왜 그냥 null을 반환하지 않는 예외를 던지고의? 필자는 필요할 때마다 데이터를 구성하고 가져올 수 있습니다.

+0

배열의 정상적인 동작입니다. 범위를 벗어나면 예외가 발생합니다. IN 경계는 공백이지만'null '이됩니다. 이것들은 매우 다른 두 가지입니다 – Gianmarco

답변

1

예외의 성격은 user groupa couple of times에서 논의되었습니다. issue #2655이 보류되어이 예외를 수정하고 더 중요한 의미로 바꿉니다.

제 질문은 예외를 던지는 대신 왜 null을 반환하지 않습니까?

이 뒤에 근거는 구분하지 수 있기 때문에, 이해하기 쉬운 사이 :

  • 레코드 열을 포함하지만 열의 null를 산출.
  • 열을 포함하지 않는 레코드.
+0

동의하지만, 두 경우 모두 Java 객체가 null 객체를 무시할 수 있다고 생각합니까? –

+0

나는 당신을 올바르게 이해하는지 잘 모르겠습니다. 열이 존재하지 않는 것을 나타내는 예외가 Throw됩니다. 대부분의 경우 호출 코드의 버그이므로 예외를 사용하여 처리해야합니다. 이 경우 null을 리턴하는 것은 매우 모호합니다. –

+0

당신의 요지를 가져 왔습니다, 고마워요. –