Java语言关于throw的疑问

2025-03-10 08:07:31
推荐回答(2个)
回答1:

在方法上使用throws表示调用该方法的时候可能会抛出指定的异常,所以需要进行try--catch捕获。

throw呢可以进行手动的抛出异常,比如可以在你的上例中判断,if(a==0){throw new RuntimeException("被除数不能是0");}
这样的话就可以抛出一些比较友好的异常信息,而不是一大堆的英文字母···

catch中的语句被执行是在发生了异常的时候,例1中只是声明了异常对象,并没有被抛出,所以不会被捕获到···

另外,ArithmeticException是RuntimeException的子类,是不需要进行强制try--catch捕获的。

回答2:

throws可以看做是指示盘,标识这个方法中可能有异常,只起到标识的作用,而throw是吧异常对象向上抛,抛给上层函数,如果不用try{}catch{}处理异常就必须上抛异常