2010-04-10 6 views
3

GWT에서 설계된 웹 사이트를 처리하고 웹 사이트에 액세스하는 사이에 인터넷 연결이 중단되는지 확인하고 싶습니다. 인터넷이 다운 된 경우 서버에 연결할 수 없거나 Gmail이 처리하는 것과 같은 메시지를주고 싶습니다.GWT 응용 프로그램에서 인터넷 연결을 처리하는 방법

아무도이 문제를 해결하는 가장 좋은 방법을 제안 할 수 있습니까?

답변

2

이것은 AsyncCallbackonFailure(Throwable t) 방법입니다. 이 메소드는, RPC가 접속 상실을 포함 해 어떠한 이유로 든 실패했을 때에 불려갑니다. onFailure()에 전달 가져옵니다 Throwable 아무것도 할 수 있기 때문에

, 워드 프로세서에서 사용되는 패턴은 다음과 같습니다 특히

public void onFailure(Throwable caught) { 
    // Convenient way to find out which exception was thrown. 
    try { 
    throw caught; 
    } catch (IncompatibleRemoteServiceException e) { 
    // this client is not compatible with the server; cleanup and refresh the 
    // browser 
    } catch (InvocationException e) { 
    // the call didn't complete cleanly 
    // other Throwables may be caught here... 
    } catch (Throwable e) { 
    // last resort -- a very unexpected exception 
    } 
} 

, InvocationExceptiononFailure()

+0

에 전달하게됩니다 인터넷 연결의 부족 왜 당신은'잡힌'을 다시 태워 버리고'if (catch 된 instanceof InvocationException) {...} ... '대신에 그것을 잡으려고합니까? 이 패턴이 권장되는 이유를 설명한 언급 한 문서에 대한 링크가 있습니까? –

+1

어느 쪽이든 효과가 있습니다. 단지 취향의 문제 일뿐입니다. 이것이 그 예에서 사용하는 패턴입니다. 그것을 다시 던지면 else 문을 추가하는 것을 잊어 버리면 예외가 사라지지 않는다는 이점이 있습니다. –

+0

Jason에게 답장을 보내 주셔서 감사합니다. 방금 if (instanceof InvocationException이 잡혔습니다) {..}을 사용했고 그것은 저에게 효과적입니다. 고마워. – Priya

관련 문제