在java中,异常捕捉中,啥时候方法头就要加上throws,有时却又不要呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中,异常捕捉中,啥时候方法头就要加上throws,有时却又不要呢?相关的知识,希望对你有一定的参考价值。

不用加的时候是因为你在方法里面去catch了这个异常,也就是说你的方法里面有try...catch(),而如果方法里面没有捕获的话就这能抛到方法外去捕获,所以就在方法头上加throws。 参考技术A

Java的异常分为“运行时异常”和“非运行时异常”

举个例子

public void func1() throws Exception

throw new Exception("XXX");

public void func2()

throw new IllegalArgumentException("XXX");

func1抛出的异常是非运行时异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch并处理,否则程序就不能编译通过,所以要加throws

func2抛出的异常是运行异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理,编译的时候不加throws也不会报错

参考技术B 当方法里有异常时:
有两种处理方式:
1、抛出异常,交给调用者处理
2、方法里自己将这个异常try catch,捕获异常,并进行异常处理
第一种:抛出异常,交给调用者处理时,就需要在方法头上追加throws 来抛出可能发生的所有异常
而第二种,使用try catch方法,将可能发生异常的代码包裹,进行异常处理,是不用在方法头上抛出异常的
try{
可能出现异常的代码...

}catch(Exception ex){
异常处理...

}finally{
不管是否出现异常,都将会执行,一般用于关闭释放资源..

}本回答被提问者采纳

java 中getBounds啥作用

作用是获取位置,举个例子
如果想要一行文字移动,可以每次向右移动两个像素,这时候就要获取当前的位置,可以将当前位置的x增加2,然后重复,就能实现移动的效果。
参考技术A 获取位置

以上是关于在java中,异常捕捉中,啥时候方法头就要加上throws,有时却又不要呢?的主要内容,如果未能解决你的问题,请参考以下文章

Java中的异常捕捉try为什么要尽量使用具体标准的异常,为什么不要直接使用ExceptionRuntimeExceptionErrorThrowable,避免在try catch中进行业务编码

Java中的异常捕捉try为什么要尽量使用具体标准的异常,为什么不要直接使用ExceptionRuntimeExceptionErrorThrowable,避免在try catch中进行业务编码

Java程序中的异常应该在啥时候抛出

tycatch(Exception ex)啥意思

Java中的异常的捕获和抛出是啥意思,有啥区别

Java_异常