`
incyanggan
  • 浏览: 32743 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Java菜鸟学习笔记--Exception篇(一):异常简介

 
阅读更多

什么是异常(Exception)?


简述:

在运行过程中,应用程序可能遭遇各种严重程度不同的问题.异常提供了一种在不弄乱程序的情况下检查错误的巧妙方式.它也提供了一种直接报告错误的机制.

不同类型异常在Java中被封装为不同的类,这也符合我Java里一切都是对象的原则,Java为我们提供了非常完美的异常处理机制。



异常的结构图

既然是类,自然有结构关系,让我们看看这些异常类的结构组成图




JDK文档中的异常类


在JDK文档中,可以查看异常类所有介绍和使用方法




Exception 实例


常见的异常



	//2.1算数异常
		
	//	System.out.println(8/0);//编译通过
		/*运行是输出:
		
		Exception in thread "main" java.lang.ArithmeticException: / by zero
		at me.testexceptions.TestExceptions.main(TestExceptions.java:13)
		
		*///抛出java.lang.ArithmeticException异常

	int[] a={1,2,3};
		
	//	int b=a[3];//编译无错
		/* 运行时输出
		Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
		at me.testexceptions.TestExceptions.main(TestExceptions.java:25)
		*///同样是运行时抛出异常 java.lang.ArrayIndexOutOfBoundsException
		



Java的异常处理机制(try…catch…finally)


try 就像一个网,把try{ }里面的代码所抛出的异常都网住,然后把异常交给 catch{}里面的代码去处理。最后执行finally之中的代码。

无论try中代码有没有异常,也无论catch是否将异常捕获到,finally中的代码都一定会被执行。

	try{
			int c=9/0;
	
		}catch(ArithmeticException my){
			//其中my是异常对象,这个形参当系统出现错误抛出异常catch就把异常对象穿过來
			System.out.println("出现异常");
			
		
			//调用my的toString()方法,
			System.out.println(my);//输出:java.lang.ArithmeticException: / by zero
			
			my.printStackTrace();
			/*输出:
			java.lang.ArithmeticException: / by zero
			at me.testexceptions.TestExceptions.main(TestExceptions.java:35)
			*///这个方法追踪异常的详细信息	
		}





分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics