首页 > 解决方案 > 如果 logcat 没有显示原因,我如何找出我的应用程序崩溃的原因?

问题描述

我有一个在后台处理一些 pdf 文件的应用程序,突然它崩溃了,没有“由”描述。尝试使用真实设备、新模拟器、重启电脑等。在此处输入图像描述 以前从未有过任何事情,我不知道在哪里寻找根本原因。

编辑:我发现问题出在 try/catch 块中

try {
val pdfReader = PdfReader(URL(it))
//process
pdfReader.close()
} catch(e: FileNotFoundException){
//process exception
}

所以问题出在错误异常中,当我切换到更一般的异常时,我可以处理它并在 logcat 中看到错误

try {
val pdfReader = PdfReader(URL(it))
//process
pdfReader.close()
} catch(e: Exception){
//process exception
}

标签: androidkotlin

解决方案


如果您使用的是 iTextPdf,就我所经历的而言,它有时会无缘无故地抛出 NoClassDefFoundError。也许捕获此错误而不是异常可以帮助您识别问题。像这样:

try
{
  // do stuff
}
catch (Error err) //or NoClassDefFoundError
{
  System.err.println(err.getMessage());
}

推荐阅读