마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

IllegalStateException catch처리 질문이요 ㅜ

0 추천

illegalstateexception이 간헐적으로 listview에서 발생합니다

 

근데 try catch도 안되고요(throwable로 잡든 illegalstateexception으로 잡든 안잡혀요 ㅜ)

 

public void refresh() {
   if (Thread.currentThread() == Looper.getMainLooper().getThread()) {
    try {
     notifyDataSetChanged();
    } catch (final Error e) {
     ErrorHandler.getInstance().handle(e);
    } catch (final IllegalStateException e) {
     ErrorHandler.getInstance().handle(e);
    } catch (final RuntimeException e) {
     ErrorHandler.getInstance().handle(e);
    } catch (final Throwable e) {
     ErrorHandler.getInstance().handle(e);
    }
   }
  }

이게 현재 listadapter 내부에 구현되어있는 겁니다(함수로해놧어요)

저건 반드시 runOnUiThread를 통해서만 호출하고요... 그 전엔 AsyncTask로 필터링을 합니다

 

해결 방법이 있긴 할텐데... 도저히 모르겠네요 ㅜ 도와주세요..

수상한i (8,050 포인트) 님이 2013년 3월 15일 질문

3개의 답변

0 추천
오류가 발생하면, logcat을 보여주면 해결책을 얻을 가능성이 올라갑니다.

 

제 기억 및 경험으로 봤을 땐,

두 쓰레드에서 ListView에서 조작하는 데이터 리스트를 건들다가 예외가 발생한 것 같습니다.

기억이 틀리지 않기를 바랄 뿐입니다 ㅎ

 

해결 방법은 저도 현재 하나 밖에 모르겠군요.
익명사용자 님이 2013년 4월 24일 답변
0 추천
catch( Exception e )  로 일단 잡아주시고, e. printStatckTrace() 해보시면 어디서 문제인지 아실 수 있을거같네요
밉샹 (500 포인트) 님이 2013년 4월 24일 답변
–1 추천

죽는걸 방지하는게 목적이시면

catch(Exception e) 로 받아보셔요

Noizbuster (11,970 포인트) 님이 2013년 3월 16일 답변
Throwable에서 받기 때문에 의미없다고 보여집니다.
...