我的代码中用到了JOptionPane,运行出现异常时弹出提示框,关闭后该进程并未结束,难道非得加上finally块,用System.exit(0)结束吗,大家还有什么好的建议!
try {
} catch (DocumentException e) {
    JOptionPane.showMessageDialog(null,"找不到指定文件!","读取信息出错",JOptionPane.ERROR_MESSAGE);
        } finally {
            System.exit(0);
        }

解决方案 »

  1.   

    finally {
                System.exit(0);
            }
    加上这一句,那么它会总执行System.exit(0);那就是程序结束了.
    不加应该没问题..
      

  2.   

    我的意思是说不用finally {
                System.exit(0);
            }
    这种方式强行结束的话,还有什么其他的方式么(针对关闭JOptionPane的---点确定或X之类的,例如触发什么事件结束进程,而不是总是挂在这里)
      

  3.   

    try-catch-finally的原意就是为了强迫程序员在通盘考虑程序执行的过程中关注异常问题的产生,
    finally块的存在有很大一部分原因就是适时的帮助(以及强迫程序员)养成在发生异常终止的时候手动释放内存空间,终止对象的生命周期的好习惯(同时也强迫程序员关注自己的代码中有关于隐秘的内存泄露所带来的性能问题,甚至是程序崩溃)。在这里,楼主的程序因为异常而终止,这正是发挥try-catch-finally的最佳场所,也是try-catch-finally精神的所在,楼主为何要绕道而行呢?@.@||~