我有一个Android应用程序,我想将一个未处理的异常保存到Sqlite DB中。我已经创建了将错误消息保存到数据库中的所有功能。
我的问题是,如何引发未处理的异常?
当我尝试抛出新异常(“Save me intoDB”)时,这不起作用,因为我被迫用try catch包围它。
你知道我怎么才能杀死我的Android应用吗?
尝试如下操作-代码在kotlin
中
private lateinit var defaultUEH: Thread.UncaughtExceptionHandler
override fun onCreate() {
super.onCreate()
setupExceptionHandler()
}
private fun setupExceptionHandler() {
try {
defaultUEH = Thread.getDefaultUncaughtExceptionHandler()
Thread.setDefaultUncaughtExceptionHandler(unCaughtExceptionHandler)
} catch (e: Exception) {
e.printStackTrace()
}
}
private val unCaughtExceptionHandler = Thread.UncaughtExceptionHandler { thread, ex ->
val stringWriter = StringWriter()
ex?.printStackTrace(PrintWriter(stringWriter))
val exception = stringWriter.toString()
// send the exception to the DB here
defaultUEH.uncaughtException(thread, ex)
exitProcess(1)
}
希望能进一步帮助你。