在java中,异常捕捉中,什么时候方法头就要加上throws,有时却又不要呢?
展开全部
Java的异常分为“运行时异常”和“非运行时异常”
举个例子
public void func1() throws Exception{
throw new Exception("XXX");
}
public void func2() {
throw new IllegalArgumentException("XXX");
}
func1抛出的异常是非运行时异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch并处理,否则程序就不能编译通过,所以要加throws
func2抛出的异常是运行异常,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理,编译的时候不加throws也不会报错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当方法里有异常时:
有两种处理方式:
1、抛出异常,交给调用者处理
2、方法里自己将这个异常try catch,捕获异常,并进行异常处理
第一种:抛出异常,交给调用者处理时,就需要在方法头上追加throws 来抛出可能发生的所有异常
而第二种,使用try catch方法,将可能发生异常的代码包裹,进行异常处理,是不用在方法头上抛出异常的
try{
可能出现异常的代码...
}catch(Exception ex){
异常处理...
}finally{
不管是否出现异常,都将会执行,一般用于关闭释放资源..
}
有两种处理方式:
1、抛出异常,交给调用者处理
2、方法里自己将这个异常try catch,捕获异常,并进行异常处理
第一种:抛出异常,交给调用者处理时,就需要在方法头上追加throws 来抛出可能发生的所有异常
而第二种,使用try catch方法,将可能发生异常的代码包裹,进行异常处理,是不用在方法头上抛出异常的
try{
可能出现异常的代码...
}catch(Exception ex){
异常处理...
}finally{
不管是否出现异常,都将会执行,一般用于关闭释放资源..
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询