java基础-throw与throws的区别

throw与throws的区别:
通过一个例子来详细讲解
public Test() throws RepletException {
try {
System.out.println("Congratulation.Test Succeed!")
}
catch (Exception e) {
throw new Exception(e.toString());
}
}

从上面的例子可以看出:
1、throws是用来声明一个方法可能抛出的所有异常信息(状态);
   throw则是指抛出的一个具体的异常类型(动作)。
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。
2、throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
   throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。
3、一般不建议在方法中自动抛出异常而是应该根据可能出现的不同的异常逐个捕捉,这样才能尽量避免程序运行过程中Bug的出现。

你可能感兴趣的:(java基础)