Ich entwickle eine App, und ab und zu einer meiner Hintergrund-Worker-Threads wird eine nicht abgefangene Ausnahme der einen oder anderen Art haben. Diese Ausnahmen führen zum Absturz des Threads. Da er jedoch nicht im UI-Thread enthalten ist, wird die App weiterhin ausgeführt. Wie kann ich diese nicht abgefangenen Ausnahmen in den Hintergrundthreads erzwingen, um die gesamte App zum Absturz zu bringen? Es wäre schön, wenn die gleichen kontextabhängigen Informationen zum Absturz (wie der Stack-Trace) verfügbar wären.Android: Force Crash mit Uncaught Ausnahme in Thread
Ich möchte dies tun, damit, wenn ich die App zu meinen Testern freigeben nicht reagiert. Wenn der Hintergrund-Thread eine nicht abgefangene Ausnahme hat, geht die App stattdessen zum Crash-Handler und sendet mir einen Bericht (ich benutze ACRA, aber das sollte nichts ausmachen). Das ist besser als eine App, die im Stillen fehlschlägt.
Dies funktioniert nicht bei allen Executor-Implementierungen. Einige von ihnen rufen den Handler nicht an. Sie müssen 'afterExecute' überschreiben und die RuntimeException oder Error von dort erneut auslösen, um es zum Absturz zu zwingen. – Monstieur