Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

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

$
0
0

什么是异常(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)
			*///这个方法追踪异常的详细信息	
		}





作者:incyanggan 发表于2013-7-31 14:39:56 原文链接
阅读:54 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>