Java中发生异常时如何避免程序终止

问题描述

| 我正在做一个用于在Android中查找BPM的应用程序。根据文件的输入,将引发空指针异常和IO异常。当发生异常时,即使我用try / catch块将代码括起来,程序也会终止。我的要求是程序不要终止,而要继续其他部分。 我的代码:
try {
    mp3file.seekMP3Frame();
    sourcefile = new File(\"/sdcard/a.mp3\");
    mp3file = new MP3File(sourcefile);
    AbstractID3v2 tag = mp3file.getID3v2Tag();
    text=tag.getFrame(\"TBPM\").toString();       
} 
catch (NullPointerException e) {
    System.out.println(\"null pointer exception\");
}
catch (IOException e1) {
    System.out.println(\"IO exception\");
}
........  // other coding 
    

解决方法

在代码中使用1ѭ块,就像
 `try{

 } catch{

 } finally{

 }`
即使您的try块抛出异常,即使没有,异常也会最终执行。     ,如果在try-catch块之间发生错误: 您在这里仅捕获2个异常(NullPointerException和IOException)。 try-catch块之间的任何其他运行时异常仍可能导致程序崩溃。 catch java.lang.Throwable以确保捕获了所有异常。 如果在try-catch块之间未发生错误: 在stacktrace中查找类中发生错误的行,然后在其中实现\“ proper \”错误处理。 如果您的应用程序崩溃,您将始终在logcat中看到堆栈跟踪。该堆栈跟踪将能够告诉您导致崩溃的代码行。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...