RuntimeException异常

/*
Exception有一个特殊的子类异常RuntimeException运行异常,如果在函数内部抛出此异常,函数上可以不用声明异常,编译一样通过。
如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过。之所以不在函数声明,是因为不要调用者处理,当
该异常出现,程序会停止,因为在运行时,出现了无法运算的异常,希望程序停止后,希望程序员对代码进行修改。

自定义异常时,如果该异常的发生让程序无法继续运行,就让自定义异常继承RuntimeException类,有许多它的子类就没有在函数声明
异常分两种:
1、编译时检测的异常,
2、编译时不被检测的异常(RuntimeException异常及其子类异常)
*/

class RuntimeDemo
{
	int div(int a,int b)
	{
		if(b==0)
			throw new ArithmeticException("除数为0");			
			//throw new Exception("除数为0");   此时编译会失败。此时要在函数后进行throws ArithmeticException声明。
			//声明就是告诉调用者有问题,要处理
		return a/b;
	}
}

class Exception
{
}
class  RuntimeExceptionDemo
{
	public static void main(String[] args) 
	{
		RuntimeDemo rd=new RuntimeDemo();
		int x=rd.div(4,0);
		System.out.println("x="+x);
		System.out.println("Over");
	}
}

posted @ 2015-01-03 20:21  静以养身 俭以养德  阅读(246)  评论(0编辑  收藏  举报