黑马程序员技术交流社区

标题: 帮忙看看异常问题... [打印本页]

作者: 我干阿衰    时间: 2015-5-13 21:30
标题: 帮忙看看异常问题...
请问finally语句还会不会执行?
public class ExceptionTest {
        public static void main(String[] args) {
                int x = 10;
                int y = 0;
               
                try {
                        System.out.println(x/y);
                } catch (ArithmeticException e) {
                        e.printStackTrace();
                       
                        //JVM退出了, 地震了
                        System.exit(0);
                       
                } finally {
                        System.out.println("异常解决");
                }
               
                System.out.println("over");
        }
}
作者: 赵旗    时间: 2015-5-13 21:55
不会执行了  jvm已经退出了 所以后边不会执行了
作者: 小风1993    时间: 2015-5-13 22:13
  1. package cxw.study.net.ie_server;

  2. public class StringDemo {
  3.         public static void main(String[] args)  {
  4.                         gettye();
  5.         }
  6.         @SuppressWarnings("finally")
  7.                 public static int gettye(){
  8.                 int x = 10;
  9.             int y = 0;
  10.                 try {
  11.                 System.out.println(x/y);
  12.         } catch (ArithmeticException e) {
  13.                 e.printStackTrace();
  14.                 return x;
  15.                 //JVM退出了, 地震了
  16.              //   System.exit(0);
  17.                
  18.         } finally {
  19.                 System.out.println("异常解决");
  20.                 return y;
  21.         }
  22.         }   //这样finally就能够执行  它只要JVM没有关闭,就一定会执行的语句
  23. }
复制代码

作者: yuanhnu    时间: 2015-5-13 22:35
不会,虚拟机都退出了,后面的都不会执行
作者: w401634075    时间: 2015-5-13 22:42
看你有标识一个地震啦,应该是知道不会执行后边所有的语句了的呀!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2