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;
}
}
异常初探(五)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.