현재 모 회사 인턴으로 모자란 부분도 많이 배우고 있고 즐겁게 근무중입니다.




제가 간단한 메소드를 하나 만들었는데요


public void openDB(long _Id) {

Id = _Id;


db = new ______DatabaseHelper(mContext);

cursor = db

.getWritableDatabase()

.rawQuery(

"SELECT * FROM ______ WHERE id = "

+ Id, null);

}


메소드에서 db를 생성 한 뒤 cursor도 바로 처리해버렸습니다. (물론, 정상일경우 이상없습니다.)




그런데 저희회사 팀장이(압존법..)


'sdb가 생성이 잘 되더라도 sdb.getWritableDatabase()를 수행할 때 예외상황이 발생하여 exception을 던질 수 있다.

그렇게 되면 rawQuery 수행시 null pointer exception도 날 것이고, sCursor도 null값이 될 것이다. 아예 강제종료할 수도 있다'


'각 예외를 처리할 수 있도록 코드를 수정해라, 만일 저 sCursor 코드가 100% null이 되지 않는다 여긴다면 그 증명을 해보여라'




대충 이런 설명을 했는데 구구절절 옳은말씀같고 그당시 머리가 하얘서 수정ㄱㄱ로 결론냈는데,


제가 볼 때는 별 문제없이 잘 되지 않나 싶은데 증명도 못했고...


궁금하네요 저 코드가 잘못된 코드일지, 아니라면 그 근거는 무엇인지 :)




참고) mContext와 _Id라는 파라메터값은 의미있는 값만 들어온다고 증명했습니다. 즉 이걸로 문제나진 않음