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

java 异常一

时间:2016-05-12 20:57:01      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

异常:就是程序在”运行时“出现的不正常情况。
异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。
          其实就是java对不正常情况进行描述后的对象体现。

对于问题的划分:两种:一种是严重的问题,一种是非严重的问题。
对于严重的,java通过Error类进行描述。——对于Error一般不编写针对性的代码对其进行处理。
对于非严重的,java通过Exception类进行描述。——对于Exception可以使用针对性的处理方式进行处理。

无论Error或者Exception都具有一些共性内容。比如:不正常情况的信息,引发原因等。


Throwable有两个主要的子类:
|--Error
|--Exception

对捕获到的异常对象进行常见方法操作:
String getMessage():获取异常信息
String toString():获取异常名称:异常信息
void printStackTrace():打印异常名称,异常信息,异常出现的位置。


在函数上声明异常。
便于提高安全性,让调用出进行处理。不处理编译失败。

对异常的处理:
1,声明异常时,建议声明为具体的异常。这样处理的可以更具体。
2,对方声明几个异常,就对应有几个catch块,不要定义多余的catch块;
   如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。

建议在进行catch处理时,catch中一定要定义具体处理方式。
不要简单定义一句  e.printStackTrace(),

也不要简单的就书写一条输出语句。


class Arithmetic
{
	int method(int a,int b) throws ArithmeticException,ArrayIndexOutOfBoundsException
	{
		int[] arr=new int[a];  //虽然有两个可能的异常,但是在运行时遇到第一个异常后程序就会终止运行,后面的程序不再执行。
		System.out.println(arr[4]);
		return a/b;
	}
}

class ExceptionClassDemo
{
	public static void main(String args[]) //throws Exception//在功能上通过throws的关键字声明了该功能可能会出现问题。
	{
		Arithmetic ar=new Arithmetic();
		try
		{
			int result=ar.method(4,0);
			System.out.println("result:"+result);
		}
		catch (ArithmeticException e)     //Exception e = new ArithmeticException(); 
		{
			System.out.println("除数不能为零!");
			System.out.println(e.getMessage());//    / by zero 
			System.out.println(e.toString());  //    异常名称:异常信息
			e.printStackTrace();               //    打印异常名称,异常信息,异常出现的位置。
			                                   //其实jvm默认的异常处理机制,就是在调用printStackTrace方法
											   //打印异常的堆栈的跟踪信息。
		}
		catch(ArrayIndexOutOfBoundsException e)
		{
			System.out.println(e.toString());
			System.out.println("数组越界啦");
		}
		System.out.println("over");
	}
}


java 异常一

标签:

原文地址:http://blog.csdn.net/iemdm1110/article/details/51356774

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