투케이2K

353. (java/자바) try catch 에러 구문 정의 및 데이터 파싱 Exception Type 확인 본문

Java

353. (java/자바) try catch 에러 구문 정의 및 데이터 파싱 Exception Type 확인

투케이2K 2024. 5. 10. 20:17

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

        try {

            // [특정 로직 처리 및 에러 발생]

        }
        catch (Exception e) {

            try {
                StringWriter stringWriter = new StringWriter();
                e.printStackTrace(new PrintWriter(stringWriter));

                String errMsg = String.valueOf(e.getMessage()); // [에러 메시지 별도 삽입]

                int errIdx = stringWriter.toString().indexOf(errMsg); // [특정 에러 메시지가 시작 되는 인덱스 위치]

                if (errIdx >= 0){

                    String parseLog = stringWriter.toString().substring(0, errIdx); // [에러 타입 파싱 수행 : Ex : JSONException]
                    parseLog = parseLog.replaceAll(":", "");

                    String err = "\n" + "-----------------------------------------" + "\n";
                    err += "[에러 발생]" + "\n";
                    err += "-----------------------------------------" + "\n";
                    err += "[Exception] :: " + String.valueOf(parseLog) + "\n";
                    err += "-----------------------------------------" + "\n";
                    err += "[Error] :: " + String.valueOf(errMsg) + "\n";
                    err += "-----------------------------------------" + "\n";

                    Log.e(tag, err); // [로그 출력]
                }

            }
            catch (Exception es){}
        }
 

[결과 출력]

 

    -----------------------------------------
    [에러 발생]
    -----------------------------------------
    [Exception] :: org.json.JSONException 
    -----------------------------------------
    [Error] :: No value for resultddddd
    -----------------------------------------

 

반응형
Comments