UpdaterService という Service クラスがあります。以下は私の onStartCommand() メソッドです:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(Constants.DEBUG) Log.d(TAG, "onStarted");
updater = new Updater();
try {
updater.start();
} catch(NullPointerException e) {
Stuff.showErrorMessage();
}
return Service.START_STICKY;
}
updater は、Thread を拡張するクラス Updater のカスタム オブジェクトです。以下は、私が取得している例外です。
08-12 12:19:49.708: ERROR/AndroidRuntime(1995): Uncaught handler: thread Updater exiting due to uncaught exception
08-12 12:19:49.708: ERROR/AndroidRuntime(1995): java.lang.NullPointerException: HostActivity not instantiated
at com.morten.app.klepprc.services.UpdaterService$Updater.run(UpdaterService.java:135)
これにより、アプリケーションがクラッシュします。UpdaterService.java の 135 行目:
if(application.getHostActivity() == null) {
throw new NullPointerException("HostActivity not instantiated");
}
catch ブロックで例外が処理されないのはなぜですか? すべてのフィードバックが高く評価されました。