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中看到堆栈跟踪。该堆栈跟踪将能够告诉您导致崩溃的代码行。