W mojej klasie aplikacji próbuję złapać siłę blisko, zanim się to stanie, więc mogę ją zalogować, a następnie ponownie ją wysłać, aby android mógł sobie z tym poradzić. Robię to, ponieważ niektórzy użytkownicy nie zgłaszają zamknięcia sił.Rethrow UncaughtExceptionHandler Wyjątek po zalogowaniu się
Rozwijam się w czasie zaćmienia, a zaćmienie nie pozwala mi na powtórzenie wyjątku. Pokazuje komunikat "Nieobsługiwany typ wyjątku Throwable: Surround with try/catch". Jak mogę ponownie rzucić wyjątek?
public class MainApplication extends Application
{
@Override
public void onCreate()
{
super.onCreate();
try
{
//Log exception before app force closes
Thread.currentThread().setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
AnalyticsUtils.getInstance(MainApplication.this).trackEvent(
"Errors", // Category
"MainActivity", // Action
"Force Close: "+ex.toString(), // Label
0); // Value
AnalyticsUtils.getInstance(MainApplication.this).dispatch();
Toast.makeText(MainApplication.this, "Snap! Something broke. Please report the Force Close so I can fix it.", Toast.LENGTH_LONG);
//rethrow the Exception so user can report it
//throw ex; //<-- **eclipse is showing an error to surround with try/catch**
}
});
} catch (Exception e)
{
e.printStackTrace();
}
}
}
Hmm Myślę, że masz rację. Nie znam schematu dekoratora, czy mógłbyś pokazać kod, który pokazałby mi, jak mogę to zrobić? –
Tak, zadziałało! Dzięki, Capn Sparrow. (Uwaga: toast się nie pokazuje.) –
Trochę późno, ale jak już użyłem rozwiązania Capn Sparrow, powinienem zaznaczyć, że toast nie jest wyświetlany, ponieważ teraz jest .show() na końcu wywołania makeText. To często mnie spotyka. – AJ87uk