throw与throws层层抛出异常

Posted maqiang_66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了throw与throws层层抛出异常相关的知识,希望对你有一定的参考价值。

一:

throw 关键字throw用于抛出异常 抛除异常后处理 使用try-catch捕获异常 使用throws声明异常

语法 throw new 异常类构造方法; throw new Exception();

static int avg(int n1,int n2)throws CustomException{

if (n1<0||n2<0) { //判断方法参数是否满足条件 throw new CustomException("不能使用负数");//错误信息

} if (n1>100||n2>100) {

throw new CustomException("数值太大了");

} return (n1+n2)/2; // 将参数的平均值返回 }

二:

throws 用于方法上,指出方法引发的异常。

可以声明多种异常类型,用逗号分开即可。

示例 public void test throws 异常1,异常2,异常3{ }

任何方法都可以使用throws 子类覆盖父类,子类不能声明抛出父类范围更大的异常方法

三:

总结:

throw用于方法体中,用来抛出一个实际的异常对象。

使用throw后,要么使用try catch捕获异常,要么使用throws声明异常 throws用于方法声明处,用来声明该方法可能发生的异常类型,可以是多个异常类型,用来强制调用该方法时处理这些异常

抽象方法也可以使用throws,所以说并不是有throw才有throws 如果使用throw关键字抛异常,一定不要使用Exception,不能很好标记异常类型 如果throw要抛出与业务逻辑有关的异常,需要使用自定义异常类

 

以上是关于throw与throws层层抛出异常的主要内容,如果未能解决你的问题,请参考以下文章

JAVA的throw和throws怎么用!

Java学习笔记3.10.4 异常处理 - throw关键字

Java中throw和throws的区别

Java的throw 和throws有啥区别?

再探Java基础——throw与throws

java中带有throws的方法中一定要加throw吗?