안녕하세요, 서버관련 에러처리에 대해 질문좀 드립니다.
많이 다뤄본적이 없어서 설명이 다소 미흡할 수있으니 양해 부탁드립니다.
서버로부터 결과값을 받았을 때,
1.성공값0 or 1에 따라 에러처리
2.result값 자체가 null일 때 에러처리
3.IOException처리[try catch]
이렇게 두었습니다..
이전에 한번인가 두번 잠깐 본 에러현상이 있었는데 timeout이었습니다.
서버는 오픈되었는데 포트가 막혀서 발생한 에러라고 메모해두었는데요..
IOException처럼 TimeoutException를 사용하려 하니 다음과 같은 메시지가 떴습니다.
Unreachable catch block for SocketTimeoutException.
It is already handled by the catch block for IOException.
영어실력이 부족해서 완벽히 해석은 못했지만..
TimeoutException가 이미 IOException에 의해 처리된다는것인가요..?
만약을 대비해 여러개의 예외처리를 준비하려고 하는데,.. 조언부탁드립니다. 긴글 읽어주셔서 감사합니다.
HttpPost httpPost = new HttpPost(서버주소);
try
{
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(
valuelist, "UTF-8");
httpPost.setEntity(entity);
HttpResponse hres = httpclient.execute(httpPost);
HttpEntity hentity = hres.getEntity();
if (hentity != null)
{
str="";//초기화
responseStr = EntityUtils.toString(hentity);
Log.e("-------responseStr------", responseStr); // 결과값출력
//success 1 일 때만 성공
str += responseStr;
}
//return EntityUtils.getContentCharSet(entity);
}
catch (ClientProtocolException e)
{
//서버
e.printStackTrace();
Log.e("ClientProtocolException","ClientProtocolException......");
}
catch (IOException e)
{
e.printStackTrace();
Log.e("IOException","IOException......");
}