Java 异常处理 之 捕获处理流程

http://www.verejava.com/?id=16992991138281

package com.exception2;
/*
 * 注意:
	1. 当异常发生的时候,程序会终止,其后面的代码不会执行.
	2. 异常分为编译时异常和运行期异常
		编译期异常必须用 try{}catch{}捕获,运行期异常可以不捕获
		编译期异常从 Exception 继承,  运行期异常从RuntimeException 继承


异常的处理流程

注意:
	1. try{}catch{} 代码块里的局部变量, 不能在其外访问. 所以如果要访问
	   最好在try catch 代码块外定义,然后再使用.
	2. 异常执行流程 当异常发生时,首先系统产生一个异常实例, 如果没有try catch
	   代码块报异常终止执行, 如果遇到try catch 代码块, 系统会把异常实例跟
	   catch() 里面的异常对象依次从上往下进行匹配,如果匹配成功进入 catch{} 代码块. 否则
	   报异常终止执行.
	3. Exception 是异常的根类, 根据多态原则,所以所有的异常实例都可以转为Exception
	   这样通过 Exception 就可以捕获到所有出现的异常.
	4. finally{ }代码块的内容不管是否有异常 都会执行。 用来释放资源,比如
	   关闭文件,关闭数据库连接等。
	5. finally{} 代码块的语句, 是在return 之前运行的.
 */
public class TestException
{
	public static void main(String[] args)
	{
		int[] scores={60,70,80};
		
		try
		{
			System.out.println(scores[3]);
			System.out.println(3/0);
		}
		catch (ArrayIndexOutOfBoundsException e)
		{
			System.out.println("数组越界异常");
		}
		catch(ArithmeticException e)
		{
			System.out.println("数学异常");
		}
		catch(Exception e)
		{
			System.out.println("发生了异常");
		}
		
	}
}


http://www.verejava.com/?id=16992991138281

posted @ 2018-06-22 09:23  verejava  阅读(209)  评论(0编辑  收藏  举报