`

Java的finally语句

    博客分类:
  • Java
阅读更多

     下面的两段程序会有不同的输出结果,但Java的finally语句不是一定会被执行么,那为什么会这样呢?哪位明白的能给解释一下?

 

public class Test
{
	public static void main(String[] args)
	{
		try
		{
			System.out.println("Hello");
			return;
		}finally
		{
			System.out.println("Goodbye");
		}
	}
}

 

输出结果为:

Hello

Goodbye

 

public class Test
{
	public static void main(String[] args)
	{
		try
		{
			System.out.println("Hello");
			System.exit(0);
		}finally
		{
			System.out.println("Goodbye");
		}
	}
}

 

输出结果为:

Hello

 

看起来这段程序中的finally语句好像没有被执行。怎么解释这个呢?不太明白。

 

分享到:
评论
1 楼 spyker 2009-02-18  
System.exit
public static void exit(int status)终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非零的状态码表示异常终止。

相关推荐

Global site tag (gtag.js) - Google Analytics