码迷,mamicode.com
首页 > 编程语言 > 详细

java之try catch finally

时间:2016-03-06 12:48:05      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:

try{

}catch(Exception e){

}finally{
			
}

java异常处理在编程中很常见,将可能抛出异常的语句放在try{}中,若有异常抛出,则try{}中抛出异常语句之后的语句不再执行。catch (Exception e) {}抓取异常并进行处理;若无异常,catch中的语句不执行。finally{}中主要做善后工作,如资源回收。无论是否有异常抛出,finally中的语句都会执行。finally中的语句将会在异常捕获机制退出前被调用。

下面来看三个简单的例子:

例1、

	public static void test1() {
		try {
			HttpURLConnection connection = (HttpURLConnection) new URL("").openConnection();
			System.out.println("try");
		} catch (Exception e) {
			System.out.println("exception");
		} finally {
			System.out.println("finally");
		}
		System.out.println("end");
	}



	/* 
	  输出:
	  exception
      finally
      end
	 */

例2、

	public static void test1() {
		try {
			HttpURLConnection connection = (HttpURLConnection) new URL("http://www.baidu.com").openConnection();
			System.out.println("try");
		} catch (Exception e) {
			System.out.println("exception");
		} finally {
			System.out.println("finally");
		}
		System.out.println("end");
	}



	/* 
	  输出:
	  try
      finally
      end
	 */

例3、

	public static void test1() {
		try {
			HttpURLConnection connection = (HttpURLConnection) new URL("http://www.baidu.com").openConnection();
			System.out.println("try");
			return;
		} catch (Exception e) {
			System.out.println("exception");
		} finally {
			System.out.println("finally");
		}
		System.out.println("end");
	}



	/* 
	  输出:
	  try
      finally
	 */

首先来第一个例子,HttpURLConnection connection = (HttpURLConnection) new URL("").openConnection();url地址为空,抛出异常,try中之后的语句不在执行,直接跳到catch{}中,所以输出结果中没有"try"。

第二个例子中,url可用,没有抛出异常,所以catch{}中的语句不执行,所以输出结果中没有"catch"。

在例3中,因为没有异常抛出,所以catch不执行。因为try中已经有return了,所以之后的语句不在执行。在return之前,按照异常捕获机制,在退出前将调用finally。

java之try catch finally

标签:

原文地址:http://www.cnblogs.com/zhisuoyu/p/5247063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!