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

exception 처리에 대해 문의드립니다. catch 후 프래그먼트 재 실행 등..

0 추천
안녕하세요!

초보 개발자입니다. 궁금한게 있어서 질문 드리게 되었습니다.

앱 제작시에, 많이 나는에러가

IndexOutOfBoundsException , NullPonterException 입니다.

이 에러를 만났을 때, 관련된 부분을 try{} 에 넣고, 에러 감지시 catch를 통해 처리를 하고 있는데요, 현재는 에러가 난다는 것만 알려줄 뿐, 아무런 대책이 없습니다

 

예를들어, storeList라는 arraylist가 있는데요, 웹 통신을 통해 데이터를 채웁니다.

그 아래에서 storeList.get(N) 이런 형태로 자료를 불러 올 경우에, nullPointerException 혹은 IndexOutOfBoundsException 익셉션이 뜰 경우가 있습니다.

이럴 경우 catch를 통해 다시 자료를 불러오고, 다시 try하고 싶습니다. 자바를 잘 몰라 이렇게 질문 드립니다.

 

제가 원하는 프로세스는

 

1. 자료를 불러온다.

2. 자료의 첫번째 인덱스의 값을 꺼낸다.

2-1. 잘 가져왔다면 3번으로 진행.

2-2. NullPointerException 이나 IndexOutOfBoundsException 발생 시, 다시 1번으로 진행.

3. 그 후 작업들..처리

 

이렇게 입니다.

조언부탁드립니다!!
학생개발자 님이 2015년 3월 15일 질문

2개의 답변

0 추천
asyncTask를 사용해서 doinbackground에서 자료를 불러오고,

onPostExcute에서 해당 자료를 받아 자료의 null check 및 size 체크등을 해서 null이나 index 에러가 안나도록 해야할것 같네요.

그리고 해당 asynctask가 null이거나 해당 index에 해당하는 데이터가 없다면, 다시 asynctaks 수행~

그런데 이런식이라면 계속 데이터가 있을때까지 돌텐데 그에 대한 고민도 필요할듯 하네요
js.im (220 포인트) 님이 2015년 3월 15일 답변
0 추천
컴퓨터 전공이 아닌가봅니다. 전공이면 최소한의 관련 지식은 배웠을테고...

컴 전공인데도 물어보는 것이면 난감하네요.

방법 있나요? 에러나면 그냥 루프 돌아야죠.

본인이 절차를 잘 써놓은것 같으니 그대로 코딩하면 되지않을까요?
익명사용자 님이 2015년 3월 15일 답변
...