AndroidAnnotations 및 Spring Rest Template을 사용하여 RESTful 서비스를 사용하는 Android 애플리케이션이 있습니다.Android가 Jersey RESTful 예외를 catch하지 않습니다.
서비스가 제대로 소비되고 있지만 RESTful 서비스가 처리되지 않은 예외를 throw하면 Android 애플리케이션이 실행을 멈추고 서비스 이용을 포괄하는 try catch와 함께 종료됩니다.
안드로이드 응용 프로그램 :
@RestService
protected StudentRESTfulClient mStudentRESTfulClient;
@Click(R.id.register_button)
public void register(Student user) {
try {
this.mStudentRESTfulClient.insert(user);
} catch (Exception exception) {
// This block is not executed...
}
}
편안한-응용 프로그램 :
@POST
public Student insert(Student entity) {
this.getService().insert(entity); // Throw the exception here!
return entity;
}
나는 예외가 RESTful 서비스에서 처리되지 않는 것을 알고 있지만, 내 안드로이드 응용 프로그램에서이 유형을 잡을 수 있기를 바랍니다. 문제를 표시하고 사용자에게 친숙한 메시지를 표시합니다. 그러나 다음과 같은 오류조차 시도 캐치 발생 :
01-11 00:44:59.046: E/AndroidRuntime(5291): FATAL EXCEPTION: pool-1-thread-2
01-11 00:44:59.046: E/AndroidRuntime(5291): org.springframework.web.client.HttpServerErrorException: 500 Internal Server Error
01-11 00:44:59.046: E/AndroidRuntime(5291): at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:78)
01-11 00:44:59.046: E/AndroidRuntime(5291): at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:524)
Git 저장소가 전체 프로젝트를보고 싶은 경우 : 이미 https://github.com/veniltonjr/msplearning
, 감사합니다!
감사합니다. @tonga 내 메서드'insert'에 @Background 주석이 있었기 때문에 내 trycath 블록이 무시되었습니다. – falvojr