펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO


Error:Apostrophe not preceded by  에러는


string.xml 파일에서 어퍼스트로피(') 문자를 잘못 사용하는 경우 발생한다.

그중에서도 문자열 내용에 특수문자가 포함되어있을경우 나타나는데

간단하게 문자열 양 끝에 " 를 붙여주면 해결된다. 

예를 들면

<string name="dialog_message">'테스트용' 문자열입니다.</string>


이를


<string name="dialog_message">"'테스트용' 문자열입니다."</string>


이렇게 바꿔주면 된다.


물론 메시지를 출력해도 " 문자는 출력되지 않는다.


다른 해결방법으로는


어퍼스트로피 앞에 \를 붙여주는것이다. 예를들면


<string name="dialog_message">\'테스트용\' 문자열입니다.</string>




펌 OK (출처 표시), 상업적 이용 NO, 컨텐츠 변경 NO



숫자형 값을 출력했더니 NaN값이 발생한다. 이유를 알아보자


NaN은 여러가지 경우에 발생한다.


데이터를 0으로 나눈 값을 입력하거나, 숫자로 바꿀 수 없는 문자열을 숫자로 입력받거나,


데이터형이 감당할 수 없는 크기의 값을 입력받게 되는 등등 다양한 경우에 걸쳐 발생한다.


필자도 org.json.JSONException: Forbidden numeric value: NaN 가 발생하여 고생했는데,

(제이슨 오브젝트에 NaN값을 가진 벨류를 put하여 발생)


다음과 같이 처리를 해주면 NaN 체크가 가능하다.


if (Float.isNaN(num))

if (Double.isNaN(num))


위와같이 체크를 하여 boolean값을 리턴받을 수 있다.


조건을 만족할 경우 Default 값을 설정 해 주면 되겠다.

'Android > Exception' 카테고리의 다른 글

Error:Apostrophe not preceded by 에러 발생시 대처  (1) 2015.01.26