안드로이드

다음 코드에서 간헐적으로 예외가 발생하며 앱이 다운됐다.

발생한 예외는 java.lang.exceptionininitializererror 인데 try ~ catch(Exception)으로 잡히지 않았다.

mGoogleDriveService =
    new Drive.Builder(
            new NetHttpTransport(),
            new GsonFactory(),
            credential)
            .setApplicationName("Drive API Migration")
            .build();
java.lang.ExceptionInInitializerError
        at com.google.api.services.drive.Drive.<clinit>(Drive.java:44)
        at com.google.api.services.drive.Drive$Builder.build(Drive.java:10247)
        at com.whik.youtubefavorites.settings.SettingsActivity.CheckGoogleDriveHelper(SettingsActivity.java:319)
        at com.whik.youtubefavorites.settings.SettingsActivity.access$200(SettingsActivity.java:51)
        at com.whik.youtubefavorites.settings.SettingsActivity$2.onClick(SettingsActivity.java:147)
        at android.view.View.performClick(View.java:6205)
        at android.widget.TextView.performClick(TextView.java:11103)
        at android.view.View$PerformClick.run(View.java:23653)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6682)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
     Caused by: java.lang.IllegalStateException: No successful match so far
        at java.util.regex.Matcher.ensureMatch(Matcher.java:1051)
        at java.util.regex.Matcher.group(Matcher.java:342)
        at com.google.api.client.googleapis.GoogleUtils.<clinit>(GoogleUtils.java:66)

 

 

구글링,  try ~ catch(Exception e)으로 잡히지 않았는데, 

 try ~ catch(ExceptionInInitializerError e) 로 설정하니 예외가 잡혀 해결되었다.

 

(참고 ExceptionInInitializerError  |  Android Developers  )

( 참고 [안드로이드] java.lang.ExceptionInInitializerError (tistory.com) )