2012-07-22 3 views
2

내가 codename one코드 명 한

를 사용하여 응용 프로그램을 구축하고 알 수없는 호스트 예외를 잡는 것은 그래서 것은 내가 응용 프로그램을 사용하여 URL에 접근 할 필요가있다. URL은 화면에 표시되는 결과를 다시 가져옵니다. GPRS는이 활성화 된 경우

ConnectionRequest c = new ConnectionRequest() { 

       protected void readResponse(InputStream input) throws IOException { 


        ByteArrayOutputStream bs = new ByteArrayOutputStream(); 

        int ch; 

        while ((ch = input.read()) != -1) { 

         bs.write(ch); 
        } 
        serverOutput = new String(bs.toByteArray()); 
        bs.close(); 
       } 
      }; 
      c.setUrl("My URL HERE"); 
      c.setPost(false); 


      NetworkManager.getInstance().addToQueueAndWait(c); 

그래서 지금,이 코드는 잘 작동 :

그래서 나는 그렇게 이러한 라인을 사용합니다.

try{ 
NetworkManager.getInstance().addToQueueAndWait(c); 
} 
catch(Exception e) 
{ 
Sys.out.pln(e.troString()); 
} 

하지만, 난 여전히 : GPRS는이 비활성 인 경우

는하지만, 그것은

SO이 오류를 잡아, 나는이 같은 시도의 catch 블록을 사용하려고

알 수없는 호스트 예외를 throw 앱에서 대화 상자 형태로 오류를 가져옵니다. 이 오류를 어떻게 잡아 내 처리할까요?

UPDATE 1 :

그래서 그냥이 좀 도와 ...이 반드시 코드 명 하나의 특정 질문에, 또는 자바 관련이 있는지 모르겠습니다.

NetworkManager.getInstance().addErrorListener(new ActionListener() { 

    public void actionPerformed(ActionEvent evt) { 
     //handle your error here consume the event 
     evt.consume(); 
    } 
}); 

또는 오버라이드 (override) :

답변

7

이 모든 연결에 대해 일반적인 오류를 처리하려고

protected void handleErrorResponseCode(int code, String message) { 
} 

을 그리고 :

protected void handleException(Exception err) { 
} 

를 연결 요청 코드에서 바로이 작업을 수행 할 수 하나의 클래스.

+1

큰 ... 고정 it..thanks를 사용해보십시오! – Nikhil

0

은 ...

public void init(Object context) { 
     Display.getInstance().addEdtErrorHandler(new ActionListener() { 

      public void actionPerformed(ActionEvent evt) { 
       evt.consume(); 

       Throwable exception = (Throwable) evt.getSource(); 
      } 
     }); 
    }