0
点赞
收藏
分享

微信扫一扫

关于throw与throws关键字你搞懂了吗?


关于throw与throws关键字你搞懂了吗?

还是说正题吧—

/**
* @Auther: GavinLim
* @Date: 2021/7/5 - 07 - 05 - 14:54
* @Description: PACKAGE_NAME
* @version: 1.0
*/
class a {
public void add() {
try {
System.out.println(10 / 0);//运行时异常
} catch (Exception e) {
throw e;//抛出异常
}
}

}

class b {
public void byZero() throws Exception{

new a().add();
}
}

public class test {
public static void main(String[] args) {
try {
new a().add();
} catch (ArithmeticException e) {
System.out.println("被除数为0 的错误");
}
}
}

除了自己处理外,原来异常还可以一级一级向上抛,遵循谁调用谁处理的原则,如果调用处也不处理,那么最终会一直向上倒腾到main()方法,入股连main方法也不愿处理—那只有JVM来接手这件事了;

关于异常中throw和throws关键字的区别–
1,throw 位于catch之中,而且后面必须接异常的对象–抛出异常
2,throws 位于方法的声明处–方法中可能会出现异常,调用者可以对此异常进行处理,也可以再次抛给上一级,直至虚拟机;


举报

相关推荐

throws与throw的异同

0 条评论