SQL Server Management Studio에서 선택 쿼리를 실행할 때 발생하는 오류 메시지를 기반으로 JSON Exception HTTP 응답 작성기를 개발 중입니다. try/catch 블록에서 select 쿼리 실행을 시도하고 catch에서 예외 메시지가 발생하면서 응답을 빌드합니다.catch 문에서 Java Exception 객체로부터 여러 SSMS 쿼리 오류 메시지를 어떻게 검색합니까?
내 예외 응답 작성기는 현재 실패한 SSMS 쿼리의 첫 번째 오류 메시지 만 캡처 할 수 있습니다. 단일 쿼리에서 하나 이상의 오류 메시지가있는 경우 첫 번째 메시지 이후의 모든 메시지를 무시합니다. 예외 응답 작성기를 개선하여 동일한 응답의 단일 쿼리 실행에서 모든 SSMS 오류 메시지를 반환하고 싶습니다. 따라서 단위 테스트에서 두 개의 열 이름을 잘못 입력하면 '잘못된 열 이름'메시지가 두 번 표시됩니다. 이것이 가능한지 아는 사람 있습니까? Exception 객체를 통해 반복하고 여러 오류가 발생하는 방법이 있습니까? 단일 오류에 대한 스택 추적이 아니라 쿼리의 여러 독립 오류에 대한 "sys.messages"오류 메시지 'text'값만 있습니까?
내 캐치는 다음과 같습니다
catch (Exception e) {
response = myresponse.exceptionResponse(e);
}
나는 예외 객체가 하나의 SSMS 쿼리에서 여러 오류 메시지 인스턴스를 포함하는, 또는 단지 첫 번째를 개최한다면 어쩌면 이것은을인지 확실하지 않다 내 예외 응답 빌더가 단일 오류 메시지 만 리턴하는 이유. 또한 내 예외 응답이 내장 된 코드는 다음과 같습니다
public MyResponse exceptionResponse(Exception exception){
JsonObjectBuilder response = Json.createObjectBuilder();
if (exception != null) {
msg = exception.getMessage();
if (msg == null) {
msg = NULL_EXCEPTION;
}
}
response.add("response", msg);
response.add("id",Integer.toString(counter++));
isError = true;
responseArray.add(response);
return this;
}`
예외를 반복 할 수있는 방법이 된 SQLException에 존재하는 한, 나는 확실히 그렇게 할 수 있지만 내가 할 수있는,있는 경우 Exception 객체에 대한 반복적 인 정보를 찾지 못한다. 모든 조언을 크게 주시면 감사하겠습니다!