异常初探(五)

package com.liujunhua.it01;
/**
 * throws和throw的区别:
 * throws使用在函数上,throw使用在函数内
 * throws后面跟的是异常类。可以跟多个,用逗号隔开。
 * throw后跟的是异常对象。
 */
public class Demo03 {

	public static void main(String[] args) {

		Demo demo = new Demo();
		
		int x = demo.div(4, 0);
		System.out.println("x = "+x);
		
		System.out.println("################");
	}

}
/**
 * Exception中有一个特殊的子类异常RuntimeException 运行时异常。
 * 
 * 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。
 * 
 * 如果在函数上声明了该异常,调用者可以不必处理。编译一样通过。
 * 
 * 之所以不用在函数声明,是因为不需要让调用者处理。
 * 该异常发生,希望程序停止。因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。
 */
class Demo{
	/**
	 * 让我很奇怪,怎么抛出异常了,在主函数里也没有处理为啥不提醒呢?
	 * 
	 * @param a
	 * @param b
	 * @return
	 * @throws ArithmeticException
	 */
	int div(int a, int b) throws ArithmeticException{
//		if(b == 0){
//			throw new ArithmeticException("被零除了");
//		}
		return a / b;
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章